version: "3.7" networks: shared: ipam: driver: default config: - subnet: 10.0.0.0/24 volumes: webapp: services: sia: build: context: ./docker/sia dockerfile: Dockerfile args: branch: v1.5.0 image: sia deploy: mode: global restart: unless-stopped environment: - SIA_MODULES=gctwr env_file: - .env volumes: - /media/sf_sia_data:/sia-data networks: shared: ipv4_address: 10.0.0.10 caddy: build: context: ./docker/caddy dockerfile: Dockerfile image: caddy deploy: mode: global restart: unless-stopped env_file: - .env volumes: - ./docker/data/caddy/data:/data - ./docker/data/caddy/config:/config - ./docker/caddy/Caddyfile:/etc/caddy/Caddyfile networks: shared: ipv4_address: 10.0.0.20 ports: - "80:80" - "443:443" depends_on: - nginx nginx: image: openresty/openresty:1.15.8.3-2-xenial deploy: mode: global restart: unless-stopped env_file: - .env volumes: - ./docker/nginx/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro - ./docker/nginx/conf.d:/etc/nginx/conf.d:ro - ./docker/data/nginx/cache:/data/nginx/cache - ./docker/data/nginx/logs:/usr/local/openresty/nginx/logs - ./docker/data/sia/apipassword:/data/sia/apipassword:ro - webapp:/var/www/webportal:ro networks: shared: ipv4_address: 10.0.0.30 depends_on: - sia - health-check - handshake-api webapp: build: context: ./packages/webapp dockerfile: Dockerfile image: webapp deploy: mode: global restart: unless-stopped tty: true volumes: - webapp:/usr/app/public handshake: build: context: ./docker/handshake dockerfile: Dockerfile image: handhsake deploy: mode: global restart: unless-stopped environment: - HSD_LOG_CONSOLE=false - HSD_HTTP_HOST=0.0.0.0 - HSD_NETWORK=main - HSD_PORT=12037 env_file: - .env volumes: - ./docker/data/handshake/.hsd:/root/.hsd networks: shared: ipv4_address: 10.0.0.40 handshake-api: build: context: ./packages/handshake-api dockerfile: Dockerfile image: handshake-api deploy: mode: global restart: unless-stopped environment: - HOSTNAME=0.0.0.0 - HSD_HOST=handshake - HSD_NETWORK=main - HSD_PORT=12037 env_file: - .env networks: shared: ipv4_address: 10.0.0.50 depends_on: - handshake health-check: build: context: ./packages/health-check dockerfile: Dockerfile image: health-check deploy: mode: global restart: unless-stopped volumes: - ./docker/data/health-check/state:/usr/app/state networks: shared: ipv4_address: 10.0.0.60 environment: - HOSTNAME=0.0.0.0 - PORTAL_URL=nginx depends_on: - handshake - handshake-api