Files
linux-odyssey/docker-compose.prod.yml
T

95 lines
2.1 KiB
YAML

version: '3'
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
env_file:
- .env
environment:
- MONGO_URL=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@db:27017/${MONGO_DB}
- DOCKER_NETWORK=linux-odyssey-players
- SECRET_KEY=${SECRET_KEY}
- TRUSTED_PROXIES=${TRUSTED_PROXIES}
analytics:
image: linuxodyssey/analytics
build:
context: .
dockerfile: packages/analytics/Dockerfile
target: prod
restart: always
depends_on:
- db
networks:
- internal
ports:
- '3001:3001'
environment:
- MONGO_URL=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@db:27017/${MONGO_DB}
- ADMIN_USERNAME=${ADMIN_USERNAME}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
db:
image: mongo
restart: always
networks:
- internal
ports:
- '27017:27017'
volumes:
- mongo:/data/db
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
environment:
- BASE_URL=${BASE_URL}
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
- MONGO_USER=${MONGO_USER}
- MONGO_PASS=${MONGO_PASSWORD}
- MONGO_DB=${MONGO_DB}
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
- SURVEY_URL=${SURVEY_URL}
- BUG_REPORT_URL=${BUG_REPORT_URL}
base:
image: linuxodyssey/quest-base
build:
context: .
dockerfile: ./quests/Dockerfile
networks:
internal:
players:
name: linux-odyssey-players
internal: true
volumes:
mongo: