# 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.