| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- services:
- postgres:
- image: pgvector/pgvector:pg16
- container_name: maxkb-postgres
- environment:
- POSTGRES_DB: maxkb
- POSTGRES_USER: postgres
- POSTGRES_PASSWORD: postgres
- volumes:
- - postgres_data:/var/lib/postgresql/data
- - ./postgres-init.sql:/docker-entrypoint-initdb.d/init.sql
- ports:
- - "5432:5432"
- healthcheck:
- test: ["CMD-SHELL", "pg_isready -U postgres"]
- interval: 5s
- timeout: 5s
- retries: 5
- networks:
- - maxkb-network
- redis:
- image: redis:latest
- container_name: maxkb-redis
- volumes:
- - redis_data:/data
- ports:
- - "6379:6379"
- healthcheck:
- test: ["CMD", "redis-cli", "ping"]
- interval: 5s
- timeout: 5s
- retries: 5
- networks:
- - maxkb-network
- maxkb-frontend:
- image: zhagent-frontend:latest
- container_name: maxkb-frontend
- ports:
- - "80:80"
- networks:
- - maxkb-network
- restart: unless-stopped
- depends_on:
- - maxkb-web
- maxkb-web:
- image: zhagent-backend:latest
- container_name: maxkb-web
- command: ["/opt/maxkb-app/start.sh"]
- environment:
- MAXKB_CONFIG_TYPE: ENV
- MAXKB_DB_NAME: maxkb
- MAXKB_DB_HOST: postgres
- MAXKB_DB_PORT: 5432
- MAXKB_DB_USER: postgres
- MAXKB_DB_PASSWORD: postgres
- MAXKB_REDIS_HOST: redis
- MAXKB_REDIS_PORT: 6379
- MAXKB_REDIS_DB: 0
- MAXKB_CORE_WORKER: 4
- MAXKB_STATIC_PATH: /opt/maxkb-app/static
- MAXKB_HMAC_SIGNED_SERIALIZER_SECRET_KEY: zhagent_hmac_secret_key_2026
- ports:
- - "8080:8080"
- depends_on:
- postgres:
- condition: service_healthy
- redis:
- condition: service_healthy
- volumes:
- - model_data:/opt/maxkb-app/model/base
- - tmp_data:/opt/maxkb-app/tmp
- - log_data:/opt/maxkb-app/logs
- - static_data:/opt/maxkb-app/static
- networks:
- - maxkb-network
- restart: unless-stopped
- maxkb-celery:
- image: zhagent-backend:latest
- container_name: maxkb-celery
- command: ["python", "main.py", "dev", "celery"]
- environment:
- MAXKB_CONFIG_TYPE: ENV
- MAXKB_DB_NAME: maxkb
- MAXKB_DB_HOST: postgres
- MAXKB_DB_PORT: 5432
- MAXKB_DB_USER: postgres
- MAXKB_DB_PASSWORD: postgres
- MAXKB_REDIS_HOST: redis
- MAXKB_REDIS_PORT: 6379
- MAXKB_REDIS_DB: 0
- MAXKB_HMAC_SIGNED_SERIALIZER_SECRET_KEY: zhagent_hmac_secret_key_2026
- depends_on:
- postgres:
- condition: service_healthy
- redis:
- condition: service_healthy
- maxkb-web:
- condition: service_started
- volumes:
- - model_data:/opt/maxkb-app/model/base
- - tmp_data:/opt/maxkb-app/tmp
- - log_data:/opt/maxkb-app/logs
- networks:
- - maxkb-network
- restart: unless-stopped
- volumes:
- postgres_data:
- redis_data:
- model_data:
- tmp_data:
- log_data:
- static_data:
- networks:
- maxkb-network:
- driver: bridge
|