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: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-setup hostname: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-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 networks: datasquirel: ipv4_address: 172.72.0.34 container_name: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-site hostname: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-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 container_name: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-static hostname: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-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: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-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} 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: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-db-load-balancer hostname: ${DSQL_DEPLOYMENT_NAME:-dsql}-dsql-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