services: mariadb: image: mariadb:10.6 container_name: ${APP_NAME}_db restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - ./data/db:/var/lib/mysql - ./data/logs/mysql:/var/log/mysql - ./docker/mariadb/my.cnf:/etc/mysql/conf.d/custom.cnf ports: - "3306:3306" networks: - app_network app: build: context: . dockerfile: Dockerfile container_name: ${APP_NAME}_app volumes: - ./data/html:/var/www/html depends_on: - mariadb environment: APP_NAME: ${APP_NAME} APP_URL: ${APP_URL} DB_HOST: ${DB_HOST} DB_PORT: ${DB_PORT} DB_DATABASE: ${DB_DATABASE} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} networks: - app_network nginx: image: nginx:stable-alpine container_name: ${APP_NAME}_nginx ports: - "80:80" volumes: - ./data/html:/var/www/html - ./docker/nginx/:/etc/nginx/templates - ./data/logs/nginx/:/var/log/nginx depends_on: - app environment: NGINX_HOST: ${APP_DOMAIN} NGINX_PORT: ${APP_PORT} networks: - app_network queue: build: context: . dockerfile: Dockerfile.queue container_name: ${APP_NAME}_queue volumes: - ./data/html:/var/www/html - ./data/logs:/var/www/logs - ./docker/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf depends_on: - nginx networks: - app_network networks: app_network: name: ${APP_NAME}_network external: true