mirvmon/docker/docker-compose.yml

63 lines
1.2 KiB
YAML

services:
app:
build:
context: ..
dockerfile: docker/Dockerfile
restart: unless-stopped
env_file:
- ../.env
environment:
DB_HOST: db
depends_on:
db:
condition: service_healthy
networks:
- mon_net
volumes:
- app_var:/var/www/var
nginx:
image: nginx:alpine
restart: unless-stopped
ports:
- "${APP_PORT:-8080}:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- app
networks:
- mon_net
db:
image: mariadb:10.11
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
TZ: ${APP_TIMEZONE:-Asia/Irkutsk}
command: >
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--max-connections=100
--event-scheduler=ON
volumes:
- db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 10s
interval: 10s
timeout: 5s
retries: 5
networks:
- mon_net
volumes:
db_data:
app_var:
networks:
mon_net:
driver: bridge