services: app: image: linuxodyssey/frontend depends_on: - backend restart: always build: context: . dockerfile: app/Dockerfile target: prod networks: - internal ports: - 8080:80 backend: image: linuxodyssey/backend depends_on: - db restart: always build: context: . dockerfile: server/Dockerfile target: prod networks: - internal - players volumes: - /var/run/docker.sock:/var/run/docker.sock - ./logs:/app/logs - ./config:/app/config - ./quests:/app/quests:ro env_file: - .env.prod environment: - DOCKER_NETWORK=linux-odyssey-players - BACKEND_URL=http://backend:3000 - HOST_PROJECT_ROOT=${PWD} analytics: image: linuxodyssey/analytics build: context: . dockerfile: packages/analytics/Dockerfile target: prod restart: always depends_on: - db networks: - internal ports: - '3001:3001' env_file: - .env.prod db: image: mongo:6 restart: always networks: - internal ports: - '27017:27017' volumes: - mongo:/data/db - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro env_file: - .env.prod base: image: linuxodyssey/quest-base build: context: . dockerfile: ./quests/Dockerfile networks: internal: players: name: linux-odyssey-players internal: true volumes: mongo: