56 lines
1.4 KiB
YAML
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:
|