Files
JobcardSystem/docker-compose.yml
T

56 lines
1.4 KiB
YAML

services:
app:
build: .
environment:
APP_ENV: ${APP_ENV:-development}
APP_KEY: ${APP_KEY:?Set APP_KEY in .env}
ADMIN_EMAIL: ${ADMIN_EMAIL:?Set ADMIN_EMAIL in .env}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?Set ADMIN_PASSWORD in .env}
DB_HOST: db
DB_PORT: 3306
DB_DATABASE: jobcard
DB_USERNAME: jobcard
DB_PASSWORD: ${DB_PASSWORD:?Set DB_PASSWORD in .env}
volumes:
- ./public:/var/www/html/public
- ./app:/var/www/html/app
- ./database:/var/www/html/database
- ./config:/var/www/html/config
depends_on:
db:
condition: service_healthy
networks: [jobcard]
web:
image: nginx:1.27-alpine
ports:
- "8082:80"
volumes:
- ./public:/var/www/html/public:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
depends_on: [app]
networks: [jobcard]
db:
image: mariadb:11.4
environment:
MARIADB_DATABASE: jobcard
MARIADB_USER: jobcard
MARIADB_PASSWORD: ${DB_PASSWORD:?Set DB_PASSWORD in .env}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:?Set DB_ROOT_PASSWORD in .env}
volumes:
- db-data:/var/lib/mysql
- ./database/schema.sql:/docker-entrypoint-initdb.d/001-schema.sql:ro
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 5s
retries: 20
networks: [jobcard]
volumes:
db-data:
networks:
jobcard: