123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- version: "3.8"
- services:
- backend:
- build:
- context: ./backend
- target: musare_backend
- args:
- BACKEND_MODE: "${BACKEND_MODE:-prod}"
- restart: ${RESTART_POLICY:-unless-stopped}
- volumes:
- - ./.git:/opt/app/.parent_git:ro
- - ./backend/config:/opt/app/config
- - ./types:/opt/types
- environment:
- - BACKEND_MODE=${BACKEND_MODE:-prod}
- - CONTAINER_MODE=${CONTAINER_MODE:-prod}
- links:
- - mongo
- - redis
- stdin_open: true
- tty: true
- logging:
- driver: "json-file"
- options:
- max-size: "1m"
- max-file: "3"
- frontend:
- build:
- context: ./frontend
- target: musare_frontend
- args:
- FRONTEND_MODE: "${FRONTEND_MODE:-prod}"
- restart: ${RESTART_POLICY:-unless-stopped}
- user: root
- ports:
- - "${FRONTEND_HOST:-0.0.0.0}:${FRONTEND_PORT:-80}:80"
- volumes:
- - ./.git:/opt/app/.parent_git:ro
- - ./frontend/dist/config:/opt/app/dist/config
- - ./types:/opt/types
- environment:
- - FRONTEND_MODE=${FRONTEND_MODE:-prod}
- - CONTAINER_MODE=${CONTAINER_MODE:-prod}
- links:
- - backend
- logging:
- driver: "json-file"
- options:
- max-size: "1m"
- max-file: "3"
- mongo:
- image: docker.io/mongo:${MONGO_VERSION}
- restart: ${RESTART_POLICY:-unless-stopped}
- environment:
- - MONGO_INITDB_ROOT_USERNAME=admin
- - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
- - MONGO_INITDB_DATABASE=musare
- - MONGO_PORT=${MONGO_PORT:-27017}
- - MONGO_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
- - MONGO_USER_USERNAME=${MONGO_USER_USERNAME}
- - MONGO_USER_PASSWORD=${MONGO_USER_PASSWORD}
- volumes:
- - ./tools/docker/setup-mongo.sh:/docker-entrypoint-initdb.d/setup-mongo.sh
- - ${MONGO_DATA_LOCATION:-./db}:/data/db
- logging:
- driver: "json-file"
- options:
- max-size: "1m"
- max-file: "3"
- redis:
- image: docker.io/redis:7
- restart: ${RESTART_POLICY:-unless-stopped}
- command: "--notify-keyspace-events Ex --requirepass ${REDIS_PASSWORD} --appendonly yes"
- volumes:
- - /data
- logging:
- driver: "json-file"
- options:
- max-size: "1m"
- max-file: "3"
|