docker-compose.yml 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. services:
  2. # MongoDB Database Service
  3. mongodb:
  4. image: mongo:latest
  5. container_name: oms-mongodb
  6. ports:
  7. - "27717:27017"
  8. volumes:
  9. - mongodb_data:/data/db # Persist MongoDB data
  10. environment:
  11. MONGO_INITDB_ROOT_USERNAME: oms
  12. MONGO_INITDB_ROOT_PASSWORD: "oms123." # 密码包含特殊字符,建议用引号
  13. restart: "no"
  14. # Redis Cache Service
  15. redis:
  16. image: redis:latest
  17. container_name: oms-redis
  18. ports:
  19. - "6379:6379"
  20. restart: "no"
  21. # RabbitMQ Message Broker
  22. rabbitmq:
  23. image: rabbitmq:3-management-alpine
  24. container_name: oms-rabbitmq
  25. ports:
  26. - "5672:5672" # AMQP 端口
  27. - "15672:15672" # 管理界面端口
  28. environment:
  29. RABBITMQ_DEFAULT_USER: coloring
  30. RABBITMQ_DEFAULT_PASS: coloring123.
  31. restart: "no"
  32. # ClickHouse Columnar Database for Analytics
  33. clickhouse:
  34. image: clickhouse/clickhouse-server:latest
  35. container_name: clickhouse
  36. ports:
  37. - "8123:8123" # HTTP 接口
  38. # - "9000:9000" # 原生 TCP 接口
  39. volumes:
  40. - clickhouse_data:/var/lib/clickhouse
  41. environment:
  42. CLICKHOUSE_DB: omsdb
  43. CLICKHOUSE_USER: ckuser
  44. CLICKHOUSE_PASSWORD: ckpassword
  45. restart: "no"
  46. # # Backend Service (OMS)
  47. # oms:
  48. # build:
  49. # context: ./oms # Build context is the 'oms' directory
  50. # dockerfile: Dockerfile
  51. # container_name: oms
  52. # ports:
  53. # - "3000:3000"
  54. # environment:
  55. # NODE_ENV: development
  56. # PORT: 3000
  57. # EVENT_PORT: 3001
  58. # MONGO_URI: mongodb://mongodb:27017/omsdb # Docker 内部使用服务名
  59. # REMOTE_SYNC_MONGO_URI: mongodb://coloring:coloring123.@gogs.jccytech.cn:7881?authSource=admin
  60. # REDIS_URI: redis://redis:6379
  61. # RABBITMQ_URL: amqp://coloring:coloring123.@rabbitmq:5672 # Docker 内部使用服务名
  62. # RABBITMQ_EXCHANGE: event_exchange
  63. # RABBITMQ_LOG_QUEUE: log-event-queue
  64. # RABBITMQ_OMS_QUEUE: oms-event-queue # <-- 新增:摄取器队列名
  65. # CLICKHOUSE_HOST: http://clickhouse:8123 # <-- 新增:ClickHouse Host
  66. # CLICKHOUSE_DATABASE: omsdb # <-- 新增:ClickHouse DB
  67. # CLICKHOUSE_USER: ckuser # <-- 新增:ClickHouse 用户
  68. # CLICKHOUSE_PASSWORD: ckpassword # <-- 新增:ClickHouse 密码
  69. # LOG_DIR: /app/logs/coloring # 日志服务容器内部路径
  70. # volumes:
  71. # # 开发调试阶段, 挂载整个 oms 目录,但 .dockerignore 会忽略 node_modules 和 omsapp
  72. # - ./:/usr/src/app
  73. # depends_on:
  74. # - mongodb
  75. # - redis
  76. # restart: "no" # 不自动重启,方便测试和重建
  77. # # Frontend Nginx Service (OMSApp)
  78. # omsapp-nginx:
  79. # build:
  80. # context: ./oms/omsapp # *** 关键变更:构建上下文现在是 ./oms/omsapp
  81. # dockerfile: Dockerfile
  82. # container_name: omsapp-nginx
  83. # ports:
  84. # - "80:80"
  85. # depends_on:
  86. # - oms # 确保后端服务先启动
  87. # restart: "no"
  88. # Define volumes for data persistence
  89. volumes:
  90. mongodb_data:
  91. clickhouse_data: