version: '3' services: app: depends_on: - backend build: context: . dockerfile: app/Dockerfile target: dev ports: - 5173:5173 networks: - internal volumes: - ./app:/app/app - ./packages:/app/packages backend: depends_on: - db build: context: . dockerfile: server/Dockerfile target: dev networks: - internal - players ports: - '3000:3000' volumes: - /var/run/docker.sock:/var/run/docker.sock - ./server/src:/app/server/src - ./server/swagger.yaml:/app/server/swagger.yaml - ./packages:/app/packages - ./quests:/app/quests environment: - BASE_URL=http://localhost:5173 - MONGO_URL=mongodb://db:27017/odyssey-test - DOCKER_NETWORK=linux-odyssey-players - HOST_PWD=${PWD} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID} - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET} - SECRET_KEY=${SECRET_KEY} analytics: build: context: . dockerfile: packages/analytics/Dockerfile target: dev depends_on: - db networks: - internal ports: - '3001:3001' environment: - MONGO_URL=mongodb://db:27017/odyssey-test volumes: - ./packages/analytics:/app/packages/analytics - ./packages/models:/app/packages/models db: image: mongo networks: - internal ports: - '27017:27017' volumes: - ./data:/data/db swagger: image: swaggerapi/swagger-editor:latest ports: - 8080:8080 volumes: - ./server/swagger.yaml:/tmp/swagger.yaml environment: - SWAGGER_FILE=/tmp/swagger.yaml base: image: lancatlin/linux-odyssey:base build: context: . dockerfile: ./quests/Dockerfile helloworld: image: lancatlin/linux-odyssey:helloworld build: context: . dockerfile: quests/helloworld/Dockerfile networks: internal: players: name: linux-odyssey-players internal: true