Export the generated Laravel app key before starting Apache so deployments without an explicit APP_KEY do not fail with a 500 MissingAppKeyException.
56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.rebuild
|
|
container_name: spota-app
|
|
restart: unless-stopped
|
|
expose:
|
|
- "80"
|
|
environment:
|
|
APP_URL: ${APP_URL:-http://localhost}
|
|
APP_ENV: ${APP_ENV:-production}
|
|
APP_DEBUG: ${APP_DEBUG:-false}
|
|
APP_KEY: ${APP_KEY}
|
|
DB_HOST: ${DB_HOST:-db}
|
|
DB_PORT: ${DB_PORT:-3306}
|
|
DB_USER: ${DB_USER:-spota_user}
|
|
DB_PASSWORD: ${DB_PASSWORD:-spota_password}
|
|
DB_NAME: ${DB_NAME:-spota_spotadb}
|
|
DB_SPOTA: ${DB_SPOTA:-spota_spotadb}
|
|
DB_KONSULTASI: ${DB_KONSULTASI:-spota_konsultasi}
|
|
DB_BIO: ${DB_BIO:-spota_spotadb}
|
|
DB_DOSEN: ${DB_DOSEN:-spota_spotadb}
|
|
SERVICE_DB_NAME: ${SERVICE_DB_NAME:-spota_spotadb}
|
|
PHP_DISPLAY_ERRORS: ${PHP_DISPLAY_ERRORS:-0}
|
|
FILES_STORAGE_PATH: ${FILES_STORAGE_PATH:-/var/www/html/storage/app/files}
|
|
volumes:
|
|
- spota_storage:/var/www/html/storage
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
db:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/mysql/Dockerfile
|
|
container_name: spota-db
|
|
restart: unless-stopped
|
|
command: --default-authentication-plugin=mysql_native_password --character-set-server=latin1 --collation-server=latin1_swedish_ci --sql-mode=NO_ENGINE_SUBSTITUTION
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root_password}
|
|
MYSQL_USER: ${DB_USER:-spota_user}
|
|
MYSQL_PASSWORD: ${DB_PASSWORD:-spota_password}
|
|
MYSQL_DATABASE: ${DB_NAME:-spota_spotadb}
|
|
volumes:
|
|
- spota_db_data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "mysqladmin ping -h localhost -uroot -p$${MYSQL_ROOT_PASSWORD}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 20
|
|
|
|
volumes:
|
|
spota_db_data:
|
|
spota_storage:
|