docker-compose.yml 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. version: "3.8"
  2. services:
  3. backend:
  4. build:
  5. context: .
  6. dockerfile: ./backend/Dockerfile
  7. target: musare_backend
  8. restart: ${RESTART_POLICY:-unless-stopped}
  9. volumes:
  10. - ./.git:/opt/app/.git:ro
  11. - ./backend/config:/opt/app/config
  12. - ./types:/opt/types
  13. environment:
  14. - CONTAINER_MODE=${CONTAINER_MODE:-production}
  15. - MUSARE_SITENAME=${MUSARE_SITENAME:-Musare}
  16. - MUSARE_DEBUG_VERSION=${MUSARE_DEBUG_VERSION:-true}
  17. - MUSARE_DEBUG_GIT_REMOTE=${MUSARE_DEBUG_GIT_REMOTE:-false}
  18. - MUSARE_DEBUG_GIT_REMOTE_URL=${MUSARE_DEBUG_GIT_REMOTE_URL:-false}
  19. - MUSARE_DEBUG_GIT_BRANCH=${MUSARE_DEBUG_GIT_BRANCH:-true}
  20. - MUSARE_DEBUG_GIT_LATEST_COMMIT=${MUSARE_DEBUG_GIT_LATEST_COMMIT:-true}
  21. - MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT=${MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT:-true}
  22. - MONGO_USER_USERNAME=${MONGO_USER_USERNAME}
  23. - MONGO_USER_PASSWORD=${MONGO_USER_PASSWORD}
  24. - REDIS_PASSWORD=${REDIS_PASSWORD}
  25. links:
  26. - mongo
  27. - redis
  28. stdin_open: true
  29. tty: true
  30. frontend:
  31. build:
  32. context: .
  33. dockerfile: ./frontend/Dockerfile
  34. target: musare_frontend
  35. args:
  36. FRONTEND_MODE: "${FRONTEND_MODE:-production}"
  37. FRONTEND_PROD_DEVTOOLS: "${FRONTEND_PROD_DEVTOOLS:-false}"
  38. MUSARE_SITENAME: "${MUSARE_SITENAME:-Musare}"
  39. MUSARE_DEBUG_VERSION: "${MUSARE_DEBUG_VERSION:-true}"
  40. MUSARE_DEBUG_GIT_REMOTE: "${MUSARE_DEBUG_GIT_REMOTE:-false}"
  41. MUSARE_DEBUG_GIT_REMOTE_URL: "${MUSARE_DEBUG_GIT_REMOTE_URL:-false}"
  42. MUSARE_DEBUG_GIT_BRANCH: ${MUSARE_DEBUG_GIT_BRANCH:-true}
  43. MUSARE_DEBUG_GIT_LATEST_COMMIT: "${MUSARE_DEBUG_GIT_LATEST_COMMIT:-true}"
  44. MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT: "${MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT:-true}"
  45. restart: ${RESTART_POLICY:-unless-stopped}
  46. user: root
  47. ports:
  48. - "${FRONTEND_HOST:-0.0.0.0}:${FRONTEND_PORT:-80}:80"
  49. volumes:
  50. - ./.git:/opt/app/.git:ro
  51. - ./types:/opt/types
  52. environment:
  53. - CONTAINER_MODE=${CONTAINER_MODE:-production}
  54. - FRONTEND_MODE=${FRONTEND_MODE:-production}
  55. - FRONTEND_PORT=${FRONTEND_PORT:-80}
  56. - FRONTEND_CLIENT_PORT=${FRONTEND_CLIENT_PORT:-80}
  57. - FRONTEND_DEV_PORT=${FRONTEND_DEV_PORT:-81}
  58. - FRONTEND_PROD_DEVTOOLS=${FRONTEND_PROD_DEVTOOLS:-false}
  59. - MUSARE_SITENAME=${MUSARE_SITENAME:-Musare}
  60. - MUSARE_DEBUG_VERSION=${MUSARE_DEBUG_VERSION:-true}
  61. - MUSARE_DEBUG_GIT_REMOTE=${MUSARE_DEBUG_GIT_REMOTE:-false}
  62. - MUSARE_DEBUG_GIT_REMOTE_URL=${MUSARE_DEBUG_GIT_REMOTE_URL:-false}
  63. - MUSARE_DEBUG_GIT_BRANCH=${MUSARE_DEBUG_GIT_BRANCH:-true}
  64. - MUSARE_DEBUG_GIT_LATEST_COMMIT=${MUSARE_DEBUG_GIT_LATEST_COMMIT:-true}
  65. - MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT=${MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT:-true}
  66. links:
  67. - backend
  68. mongo:
  69. image: docker.io/mongo:${MONGO_VERSION}
  70. restart: ${RESTART_POLICY:-unless-stopped}
  71. environment:
  72. - MONGO_INITDB_ROOT_USERNAME=admin
  73. - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
  74. - MONGO_INITDB_DATABASE=musare
  75. - MONGO_PORT=${MONGO_PORT:-27017}
  76. - MONGO_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
  77. - MONGO_USER_USERNAME=${MONGO_USER_USERNAME}
  78. - MONGO_USER_PASSWORD=${MONGO_USER_PASSWORD}
  79. volumes:
  80. - ./tools/docker/setup-mongo.sh:/docker-entrypoint-initdb.d/setup-mongo.sh
  81. - ${MONGO_DATA_LOCATION:-./db}:/data/db
  82. redis:
  83. image: docker.io/redis:7
  84. restart: ${RESTART_POLICY:-unless-stopped}
  85. command: "--notify-keyspace-events Ex --requirepass ${REDIS_PASSWORD} --appendonly yes"
  86. volumes:
  87. - /data