| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- services:
- # PostgreSQL with pgvector
- db:
- image: pgvector/pgvector:pg16
- container_name: zhagent-db
- restart: always
- environment:
- POSTGRES_DB: maxkb
- POSTGRES_USER: postgres
- POSTGRES_PASSWORD: ${DB_PASSWORD:-zhagent123}
- ports:
- - "5432:5432"
- volumes:
- - D:/UGit/maas_agent_storage/postgresql:/var/lib/postgresql/data
- healthcheck:
- test: ["CMD-SHELL", "pg_isready -U postgres"]
- interval: 10s
- timeout: 5s
- retries: 5
- # Redis
- redis:
- image: redis:7-alpine
- container_name: zhagent-redis
- restart: always
- ports:
- - "6379:6379"
- volumes:
- - D:/UGit/maas_agent_storage/redis:/data
- healthcheck:
- test: ["CMD", "redis-cli", "ping"]
- interval: 10s
- timeout: 5s
- retries: 5
- # Django Web
- web:
- build: .
- container_name: zhagent-web
- restart: always
- command: python main.py dev web
- ports:
- - "8080:8080"
- environment:
- - MAXKB_CONFIG_TYPE=ENV
- - MAXKB_DB_HOST=db
- - MAXKB_DB_PORT=5432
- - MAXKB_DB_USER=postgres
- - MAXKB_DB_PASSWORD=${DB_PASSWORD:-zhagent123}
- - MAXKB_DB_NAME=maxkb
- - MAXKB_REDIS_HOST=redis
- - MAXKB_REDIS_PORT=6379
- - MAXKB_REDIS_PASSWORD=
- - MAXKB_REDIS_DB=0
- - MAXKB_DEBUG=false
- - MAXKB_SSO_BASE_URL=http://192.168.92.61:8200
- - MAXKB_SSO_CLIENT_ID=kcoy9GEKTfCRUZOrwqOtce4vhiyXYjro
- - MAXKB_SSO_CLIENT_SECRET=PNcpLCGXAOd6MSIs5WhQ52DyGEVcf8W45D5SLLXQcFCPij9ZZtssQYeGBPhbXZrp
- - MAXKB_SSO_REDIRECT_URI=http://10.110.20.131/auth/callback
- - MAXKB_SSO_LOGOUT_REDIRECT_URL=http://192.168.92.61:9200/login
- volumes:
- - D:/UGit/maas_agent_storage/uploads:/app/uploads
- - ./apps/static:/app/apps/static
- - ./config.yml:/app/config.yml:ro
- depends_on:
- db:
- condition: service_healthy
- redis:
- condition: service_healthy
- # Celery Worker
- celery:
- build: .
- container_name: zhagent-celery
- restart: always
- command: python main.py dev celery
- environment:
- - MAXKB_CONFIG_TYPE=ENV
- - MAXKB_DB_HOST=db
- - MAXKB_DB_PORT=5432
- - MAXKB_DB_USER=postgres
- - MAXKB_DB_PASSWORD=${DB_PASSWORD:-zhagent123}
- - MAXKB_DB_NAME=maxkb
- - MAXKB_REDIS_HOST=redis
- - MAXKB_REDIS_PORT=6379
- - MAXKB_REDIS_PASSWORD=
- - MAXKB_REDIS_DB=0
- - MAXKB_DEBUG=false
- - MAXKB_SSO_BASE_URL=http://192.168.92.61:8200
- - MAXKB_SSO_CLIENT_ID=kcoy9GEKTfCRUZOrwqOtce4vhiyXYjro
- - MAXKB_SSO_CLIENT_SECRET=PNcpLCGXAOd6MSIs5WhQ52DyGEVcf8W45D5SLLXQcFCPij9ZZtssQYeGBPhbXZrp
- - MAXKB_SSO_REDIRECT_URI=http://10.110.20.131/auth/callback
- - MAXKB_SSO_LOGOUT_REDIRECT_URL=http://192.168.92.61:9200/login
- volumes:
- - D:/UGit/maas_agent_storage/uploads:/app/uploads
- - ./config.yml:/app/config.yml:ro
- depends_on:
- db:
- condition: service_healthy
- redis:
- condition: service_healthy
- # Nginx for frontend
- nginx:
- image: nginx:alpine
- container_name: zhagent-nginx
- restart: always
- ports:
- - "80:80"
- volumes:
- - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
- - ./ui/dist/admin:/usr/share/nginx/admin:ro
- - ./ui/dist/builder:/usr/share/nginx/builder:ro
- - ./ui/dist/chat:/usr/share/nginx/chat:ro
- depends_on:
- - web
|