name: ${DSQL_DEPLOYMENT_NAME:-dsql} services: setup: build: context: . dockerfile: Dockerfile.Setup env_file: .env networks: datasquirel: ipv4_address: 172.72.0.14 container_name: datasquirel-setup hostname: datasquirel-setup volumes: - ${DSQL_VOLUME_APP:-.}:/app - ${DSQL_VOLUME_DB_SSL:-../dsql-data/ssl}:/ssl - ${DSQL_VOLUME_SSH:-../dsql-data/ssh}:/ssh webapp: build: context: . dockerfile: ${DSQL_DOCKERFILE:-Dockerfile} env_file: .env depends_on: db-load-balancer: condition: service_started networks: datasquirel: ipv4_address: 172.72.0.34 container_name: datasquirel-site hostname: datasquirel-site volumes: - ${DSQL_VOLUME_STATIC:-../dsql-data/static}:/static - ${DSQL_VOLUME_APP:-.}:/app ports: - ${DSQL_PORT:-7070}:${DSQL_PORT:-7070} environment: - DSQL_SSL_DIR=/app/ssl restart: always static: image: nginx:alpine env_file: .env networks: datasquirel: ipv4_address: 172.72.0.28 depends_on: webapp: condition: service_healthy container_name: datasquirel-static hostname: datasquirel-static volumes: - ${DSQL_VOLUME_STATIC_CONFIGURATION_FILE:-../dsql-data/static-config/default.conf}:/etc/nginx/conf.d/default.conf - ${DSQL_VOLUME_STATIC:-../dsql-data/static}:/static ports: - ${DSQL_STATIC_SERVER_PORT}:80 restart: always db: image: mariadb env_file: .env networks: datasquirel: ipv4_address: 172.72.0.32 depends_on: setup: condition: service_completed_successfully container_name: datasquirel-site-database volumes: - ${DSQL_VOLUME_DB:-../dsql-data/db}:/var/lib/mysql - ${DSQL_VOLUME_DB_CONFIG:-../dsql-data/db-config}:/etc/mysql/conf.d - ${DSQL_VOLUME_DB_SSL:-../dsql-data/ssl}:/ssl environment: - MARIADB_ROOT_PASSWORD=${DSQL_MARIADB_ROOT_PASSWORD:-password} restart: always db-load-balancer: image: nginx:alpine env_file: .env networks: datasquirel: ipv4_address: 172.72.0.24 depends_on: db: condition: service_started container_name: datasquirel-db-load-balancer hostname: datasquirel-db-load-balancer volumes: - ${DSQL_DB_LOAD_BALANCER_CONFIGURATION_FILE:-../dsql-data/db-load-balancer-config/nginx.conf}:/etc/nginx/nginx.conf ports: - ${DSQL_DB_EXPOSED_PORT:-33600}:3306 restart: always networks: datasquirel: driver: bridge ipam: config: - subnet: 172.72.0.0/16 gateway: 172.72.0.1