version: "3.7" networks: shared: driver: bridge services: docker-host: image: qoomon/docker-host container_name: docker-host restart: unless-stopped cap_add: - NET_ADMIN - NET_RAW networks: - shared caddy: build: context: ./docker/caddy dockerfile: Dockerfile container_name: caddy 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 ports: - "80:80" - "443:443" depends_on: - docker-host - nginx nginx: build: context: . dockerfile: ./docker/nginx/Dockerfile container_name: nginx 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 networks: - shared expose: - 80 depends_on: - docker-host handshake: build: context: ./docker/handshake dockerfile: Dockerfile container_name: handshake 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 expose: - 12037 handshake-api: build: context: . dockerfile: ./docker/handshake-api/Dockerfile container_name: handshake-api restart: unless-stopped environment: - HSD_HOST=handshake - HSD_NETWORK=main - HSD_PORT=12037 env_file: - .env networks: - shared expose: - 3100 depends_on: - handshake - nginx health-check: build: context: . dockerfile: ./docker/health-check/Dockerfile container_name: health-check restart: unless-stopped volumes: - ./health-check:/usr/app/health-check - ./docker/data/health-check/state:/usr/app/state networks: - shared environment: - PORTAL_URL=nginx expose: - 3100 depends_on: - docker-host - nginx