Files
getgreen-backend/deployment_guide.md
2026-04-15 20:03:19 +05:00

83 lines
2.2 KiB
Markdown

# Production Deployment Guide
Ushbu yo'riqnoma local o'zgarishlarni (MinIO va API ulanishlari) serverga (Production) ko'chirish uchun kerakli qadamlarni o'z ichiga oladi.
## 1. Backend (Laravel) - `api.quyoshli.uz`
Serverga kirib, loyiha papkasida quyidagi ishlarni bajaring:
### `.env` faylini yangilash
Production serverda local MinIO emas, balki **haqiqiy masofaviy MinIO** ma'lumotlari bo'lishi kerak:
```env
FILESYSTEM_DISK=s3
AWS_USE_PATH_STYLE_ENDPOINT=false
MINIO_ACCESS_KEY=1121RspAhfuxdjqCrkXH
MINIO_SECRET_KEY=97rvdUg266dIAseFKeJ3l2cHRavRmCrhEDQTvaDH
MINIO_BUCKET=quyoshli
MINIO_ENDPOINT=https://minio.quyoshli.uz
```
> [!IMPORTANT]
> Masofaviy MinIO-da `AWS_USE_PATH_STYLE_ENDPOINT=false` bo'lishi mumkin (sozlamaga qarab), lekin odatda HTTPS endpointlar uchun `false` ishlatiladi.
### Buyruqlar ketma-ketligi
```bash
# Kodni yangilash
git pull origin main
# Bog'liqliklarni o'rnatish
composer install --no-dev --optimize-autoloader
# Ma'lumotlar bazasini yangilash
php artisan migrate --force
# Keshni tozalash va optimizatsiya
php artisan optimize
php artisan config:cache
php artisan view:cache
# Frontend assetlarni yig'ish (agar Laravel Vite ishlatilsa)
npm install
npm run build
```
### Ruxsatnomalar (Permissions)
Serverda papkalarga to'g'ri ruxsat berish juda muhim:
```bash
sudo chown -R www-data:www-data storage bootstrap/cache public/uploads
sudo chmod -R 775 storage bootstrap/cache public/uploads
```
---
## 2. Frontend (Next.js) - `getgreen.uz`
Frontend loyihasida `.env` faylini quyidagicha sozlashingiz kerak:
### `.env` fayli
```env
API_URL=https://api.quyoshli.uz/api
PORT=3000
```
### Qayta qurish (Rebuild)
Agar Docker ishlatayotgan bo'lsangiz:
```bash
docker-compose up -d --build
```
Agar Docker-siz bo'lsa:
```bash
npm install
npm run build
pm2 restart all # yoki boshqa process manager
```
---
## 3. MinIO Sozlamalari (Masofaviy)
Masofaviy MinIO serveringizda `quyoshli` bucket-i yaratilganiga va ruxsatnomalari (Policy) to'g'ri sozlanganiga ishonch hosil qiling:
- Rasmlar hamma uchun ochiq bo'lishi uchun Bucket Policy-ni **Public** yoki **Read-only** qilib sozlash tavsiya etiladi.
> [!TIP]
> Agar rasmlar production-da ko'rinmasa, `.env` faylidagi `AWS_USE_PATH_STYLE_ENDPOINT` qiymatini `true` yoki `false` qilib almashtirib ko'ring.