fix: make Coolify image self-contained
This commit is contained in:
@@ -10,6 +10,8 @@ Repository ini sudah disiapkan untuk jalan lewat Docker Compose:
|
||||
- `mysql`: database MySQL 8.4 dengan volume persisten
|
||||
- `vite`: hanya untuk development, tidak otomatis jalan saat production deploy
|
||||
|
||||
Image `app` sudah self-contained. Source code dan dependency Composer dibangun ke dalam image saat `docker compose build`, jadi tidak perlu bind mount proyek ke `/var/www/html` saat deploy production.
|
||||
|
||||
## SSL Di Coolify
|
||||
|
||||
SSL tidak dipasang di container aplikasi. Untuk deploy di Coolify, HTTPS ditangani oleh reverse proxy Coolify dengan sertifikat Let's Encrypt.
|
||||
@@ -75,7 +77,6 @@ docker compose up --build -d
|
||||
|
||||
Entrypoint container `app` otomatis menjalankan:
|
||||
|
||||
- `composer install`
|
||||
- membuat `.env` dari `.env.docker.example` jika belum ada
|
||||
- `php artisan key:generate` jika `APP_KEY` belum ada
|
||||
- `php artisan migrate --force`
|
||||
@@ -202,5 +203,5 @@ Ganti password akun awal setelah deploy.
|
||||
- Pastikan `APP_URL` sesuai domain production.
|
||||
- Di Coolify, jangan publish host port manual. Set domain ke service `app` dan internal port `8000`.
|
||||
- Volume `webgis_mysql_data` menyimpan data MySQL.
|
||||
- Folder project dimount ke `/var/www/html`, jadi perubahan file di server langsung terbaca container.
|
||||
- Source code sudah masuk ke image saat build, jadi produksi tidak bergantung pada bind mount host ke `/var/www/html`.
|
||||
- Jika hosting punya backup volume, backup volume MySQL dan folder project.
|
||||
|
||||
Reference in New Issue
Block a user