version: '3' services: prepbox: env_file: - .env.local build: context: .. dockerfile: Dockerfile container_name: prepbox working_dir: /src command: bash -c "yarn" volumes: - ./mount/cache/go:/go - ./mount/cache/yarn:/usr/local/share/.cache/yarn/v6 - ..:/src profiles: ['build'] buildbox: environment: - GOPATH=/go env_file: - .env.local build: context: .. dockerfile: Dockerfile container_name: buildbox working_dir: /src command: bash -c "yarn build" volumes: - ./mount/cache/go:/go - ./mount/cache/yarn:/usr/local/share/.cache/yarn/v6 - ..:/src depends_on: prepbox: condition: service_completed_successfully profiles: ['build'] www: env_file: - .env.local build: context: .. dockerfile: Dockerfile container_name: www restart: unless-stopped working_dir: /src command: bash -c "yarn dev:www --host=www" volumes: - ./mount/cache/yarn:/usr/local/share/.cache/yarn/v6 - ..:/src networks: - app-network ports: - '9000:5173' depends_on: daemon: condition: service_started profiles: ['serve'] daemon: env_file: - .env.local build: context: .. dockerfile: Dockerfile container_name: daemon working_dir: /src command: bash -c "yarn dev:daemon" restart: unless-stopped volumes: - ./mount/daemon/instances:/data - ./mount/cache/go:/go - ./mount/cache/yarn:/usr/local/share/.cache/yarn/v6 - ..:/src networks: - app-network ports: - '9001:3000' profiles: ['serve'] nginx: image: nginx:mainline-alpine container_name: nginx restart: unless-stopped depends_on: - www - daemon ports: - '80:80' - '443:443' volumes: - ./mount/nginx/conf.d/local:/etc/nginx/conf.d - ./mount/nginx/logs:/mount/nginx/logs - ./mount/nginx/ssl:/mount/nginx/ssl networks: - app-network profiles: ['serve'] networks: app-network: driver: bridge