docker-compose.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. services:
  2. # PostgreSQL with pgvector
  3. db:
  4. image: pgvector/pgvector:pg16
  5. container_name: zhagent-db
  6. restart: always
  7. environment:
  8. POSTGRES_DB: maxkb
  9. POSTGRES_USER: postgres
  10. POSTGRES_PASSWORD: ${DB_PASSWORD:-zhagent123}
  11. ports:
  12. - "5432:5432"
  13. volumes:
  14. - D:/UGit/maas_agent_storage/postgresql:/var/lib/postgresql/data
  15. healthcheck:
  16. test: ["CMD-SHELL", "pg_isready -U postgres"]
  17. interval: 10s
  18. timeout: 5s
  19. retries: 5
  20. # Redis
  21. redis:
  22. image: redis:7-alpine
  23. container_name: zhagent-redis
  24. restart: always
  25. ports:
  26. - "6379:6379"
  27. volumes:
  28. - D:/UGit/maas_agent_storage/redis:/data
  29. healthcheck:
  30. test: ["CMD", "redis-cli", "ping"]
  31. interval: 10s
  32. timeout: 5s
  33. retries: 5
  34. # Django Web
  35. web:
  36. build: .
  37. container_name: zhagent-web
  38. restart: always
  39. command: python main.py dev web
  40. ports:
  41. - "8080:8080"
  42. environment:
  43. - MAXKB_CONFIG_TYPE=ENV
  44. - MAXKB_DB_HOST=db
  45. - MAXKB_DB_PORT=5432
  46. - MAXKB_DB_USER=postgres
  47. - MAXKB_DB_PASSWORD=${DB_PASSWORD:-zhagent123}
  48. - MAXKB_DB_NAME=maxkb
  49. - MAXKB_REDIS_HOST=redis
  50. - MAXKB_REDIS_PORT=6379
  51. - MAXKB_REDIS_PASSWORD=
  52. - MAXKB_REDIS_DB=0
  53. - MAXKB_DEBUG=false
  54. - MAXKB_SSO_BASE_URL=http://192.168.92.61:8200
  55. - MAXKB_SSO_CLIENT_ID=kcoy9GEKTfCRUZOrwqOtce4vhiyXYjro
  56. - MAXKB_SSO_CLIENT_SECRET=PNcpLCGXAOd6MSIs5WhQ52DyGEVcf8W45D5SLLXQcFCPij9ZZtssQYeGBPhbXZrp
  57. - MAXKB_SSO_REDIRECT_URI=http://10.110.20.131/admin/auth/callback
  58. - MAXKB_SSO_LOGOUT_REDIRECT_URL=http://192.168.92.61:9200/login
  59. volumes:
  60. - D:/UGit/maas_agent_storage/uploads:/app/uploads
  61. - ./apps/static:/app/apps/static
  62. depends_on:
  63. db:
  64. condition: service_healthy
  65. redis:
  66. condition: service_healthy
  67. # Celery Worker
  68. celery:
  69. build: .
  70. container_name: zhagent-celery
  71. restart: always
  72. command: python main.py dev celery
  73. environment:
  74. - MAXKB_CONFIG_TYPE=ENV
  75. - MAXKB_DB_HOST=db
  76. - MAXKB_DB_PORT=5432
  77. - MAXKB_DB_USER=postgres
  78. - MAXKB_DB_PASSWORD=${DB_PASSWORD:-zhagent123}
  79. - MAXKB_DB_NAME=maxkb
  80. - MAXKB_REDIS_HOST=redis
  81. - MAXKB_REDIS_PORT=6379
  82. - MAXKB_REDIS_PASSWORD=
  83. - MAXKB_REDIS_DB=0
  84. - MAXKB_DEBUG=false
  85. - MAXKB_SSO_BASE_URL=http://192.168.92.61:8200
  86. - MAXKB_SSO_CLIENT_ID=kcoy9GEKTfCRUZOrwqOtce4vhiyXYjro
  87. - MAXKB_SSO_CLIENT_SECRET=PNcpLCGXAOd6MSIs5WhQ52DyGEVcf8W45D5SLLXQcFCPij9ZZtssQYeGBPhbXZrp
  88. - MAXKB_SSO_REDIRECT_URI=http://10.110.20.131/admin/auth/callback
  89. - MAXKB_SSO_LOGOUT_REDIRECT_URL=http://192.168.92.61:9200/login
  90. volumes:
  91. - D:/UGit/maas_agent_storage/uploads:/app/uploads
  92. depends_on:
  93. db:
  94. condition: service_healthy
  95. redis:
  96. condition: service_healthy
  97. # Nginx for frontend
  98. nginx:
  99. image: nginx:alpine
  100. container_name: zhagent-nginx
  101. restart: always
  102. ports:
  103. - "80:80"
  104. volumes:
  105. - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
  106. - ./ui/dist/admin:/usr/share/nginx/admin:ro
  107. - ./ui/dist/builder:/usr/share/nginx/builder:ro
  108. - ./ui/dist/chat:/usr/share/nginx/chat:ro
  109. depends_on:
  110. - web