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