services: app: build: context: . dockerfile: Dockerfile container_name: tailandpaws_app restart: unless-stopped environment: APP_ENV: production APP_DEBUG: "false" APP_URL: http://localhost DB_CONNECTION: mysql DB_HOST: db DB_PORT: 3306 DB_DATABASE: ${DB_DATABASE:-tailandpaws} DB_USERNAME: ${DB_USERNAME:-laravel} DB_PASSWORD: ${DB_PASSWORD:-secret} CACHE_DRIVER: file SESSION_DRIVER: file QUEUE_CONNECTION: sync volumes: - storage_data:/var/www/html/storage/app - logs_data:/var/www/html/storage/logs ports: - "8080:80" depends_on: db: condition: service_healthy networks: - tailandpaws db: image: mysql:8.0 container_name: tailandpaws_db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootsecret} MYSQL_DATABASE: ${DB_DATABASE:-tailandpaws} MYSQL_USER: ${DB_USERNAME:-laravel} MYSQL_PASSWORD: ${DB_PASSWORD:-secret} volumes: - db_data:/var/lib/mysql ports: - "3306:3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_ROOT_PASSWORD:-rootsecret}"] interval: 10s timeout: 5s retries: 5 networks: - tailandpaws volumes: db_data: storage_data: logs_data: networks: tailandpaws: driver: bridge