docker-compose.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. version: "3.8"
  2. services:
  3. backend:
  4. build:
  5. context: ./backend
  6. target: musare_backend
  7. args:
  8. BACKEND_MODE: "${BACKEND_MODE:-prod}"
  9. restart: ${RESTART_POLICY:-unless-stopped}
  10. volumes:
  11. - ./.git:/opt/app/.parent_git:ro
  12. - ./backend/config:/opt/app/config
  13. - ./types:/opt/types
  14. environment:
  15. - BACKEND_MODE=${BACKEND_MODE:-prod}
  16. - CONTAINER_MODE=${CONTAINER_MODE:-prod}
  17. links:
  18. - mongo
  19. - redis
  20. stdin_open: true
  21. tty: true
  22. frontend:
  23. build:
  24. context: ./frontend
  25. target: musare_frontend
  26. args:
  27. FRONTEND_MODE: "${FRONTEND_MODE:-prod}"
  28. restart: ${RESTART_POLICY:-unless-stopped}
  29. user: root
  30. ports:
  31. - "${FRONTEND_HOST:-0.0.0.0}:${FRONTEND_PORT:-80}:80"
  32. volumes:
  33. - ./.git:/opt/app/.parent_git:ro
  34. - ./frontend/dist/config:/opt/app/dist/config
  35. - ./types:/opt/types
  36. environment:
  37. - FRONTEND_MODE=${FRONTEND_MODE:-prod}
  38. - CONTAINER_MODE=${CONTAINER_MODE:-prod}
  39. links:
  40. - backend
  41. mongo:
  42. image: docker.io/mongo:${MONGO_VERSION}
  43. restart: ${RESTART_POLICY:-unless-stopped}
  44. environment:
  45. - MONGO_INITDB_ROOT_USERNAME=admin
  46. - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
  47. - MONGO_INITDB_DATABASE=musare
  48. - MONGO_PORT=${MONGO_PORT:-27017}
  49. - MONGO_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
  50. - MONGO_USER_USERNAME=${MONGO_USER_USERNAME}
  51. - MONGO_USER_PASSWORD=${MONGO_USER_PASSWORD}
  52. volumes:
  53. - ./tools/docker/setup-mongo.sh:/docker-entrypoint-initdb.d/setup-mongo.sh
  54. - ${MONGO_DATA_LOCATION:-./db}:/data/db
  55. redis:
  56. image: docker.io/redis:7
  57. restart: ${RESTART_POLICY:-unless-stopped}
  58. command: "--notify-keyspace-events Ex --requirepass ${REDIS_PASSWORD} --appendonly yes"
  59. volumes:
  60. - /data