Download docker/docker-compose.yml from Punit1/Enterprise-AI-Copilot: direct link, hf CLI and curl.
- Browser
- Download file 5.59 kB
-
https://huggingface.co/spaces/Punit1/Enterprise-AI-Copilot/resolve/main/docker/docker-compose.yml
- Command line
-
hf download hf://spaces/Punit1/Enterprise-AI-Copilot/docker/docker-compose.yml
-
curl -L -o docker-compose.yml https://huggingface.co/spaces/Punit1/Enterprise-AI-Copilot/resolve/main/docker/docker-compose.yml
5.59 kB
| version: "3.9" | |
| services: | |
| # ββ PostgreSQL βββββββββββββββββββββββββββββββββββββββββββββ | |
| postgres: | |
| image: postgres:16-alpine | |
| container_name: copilot_postgres | |
| environment: | |
| POSTGRES_USER: copilot | |
| POSTGRES_PASSWORD: copilot | |
| POSTGRES_DB: copilot_db | |
| volumes: | |
| - postgres_data:/var/lib/postgresql/data | |
| ports: | |
| - "5432:5432" | |
| healthcheck: | |
| test: ["CMD-SHELL", "pg_isready -U copilot -d copilot_db"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| networks: | |
| - copilot_net | |
| # ββ Redis βββββββββββββββββββββββββββββββββββββββββββββββββ | |
| redis: | |
| image: redis:7-alpine | |
| container_name: copilot_redis | |
| command: redis-server --appendonly yes | |
| volumes: | |
| - redis_data:/data | |
| ports: | |
| - "6379:6379" | |
| healthcheck: | |
| test: ["CMD", "redis-cli", "ping"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| networks: | |
| - copilot_net | |
| # ββ Qdrant ββββββββββββββββββββββββββββββββββββββββββββββββ | |
| qdrant: | |
| image: qdrant/qdrant:v1.12.0 | |
| container_name: copilot_qdrant | |
| volumes: | |
| - qdrant_data:/qdrant/storage | |
| ports: | |
| - "6333:6333" | |
| - "6334:6334" | |
| networks: | |
| - copilot_net | |
| # ββ FastAPI Backend ββββββββββββββββββββββββββββββββββββββββ | |
| backend: | |
| build: | |
| context: .. | |
| dockerfile: backend/Dockerfile | |
| container_name: copilot_backend | |
| env_file: | |
| - ../.env | |
| environment: | |
| - PYTHONPATH=/app:/agents:/services:. | |
| - DATABASE_URL=postgresql+asyncpg://copilot:copilot@postgres:5432/copilot_db | |
| - REDIS_URL=redis://redis:6379/0 | |
| - QDRANT_URL=http://qdrant:6333 | |
| - CELERY_BROKER_URL=redis://redis:6379/1 | |
| - DEPLOY_MODE=local | |
| volumes: | |
| - ../backend:/app | |
| - ../agents:/agents | |
| - ../services:/services | |
| - ../scripts:/scripts | |
| - ../tests:/tests | |
| - uploads_data:/uploads | |
| ports: | |
| - "8000:8000" | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| redis: | |
| condition: service_healthy | |
| qdrant: | |
| condition: service_started | |
| command: > | |
| sh -c "alembic upgrade head && | |
| uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload" | |
| networks: | |
| - copilot_net | |
| # ββ Celery Worker ββββββββββββββββββββββββββββββββββββββββββ | |
| celery_worker: | |
| build: | |
| context: .. | |
| dockerfile: backend/Dockerfile | |
| container_name: copilot_celery | |
| env_file: | |
| - ../.env | |
| environment: | |
| - PYTHONPATH=/app:/agents:/services:. | |
| - DATABASE_URL=postgresql+asyncpg://copilot:copilot@postgres:5432/copilot_db | |
| - REDIS_URL=redis://redis:6379/0 | |
| - QDRANT_URL=http://qdrant:6333 | |
| - CELERY_BROKER_URL=redis://redis:6379/1 | |
| - DEPLOY_MODE=local | |
| volumes: | |
| - ../backend:/app | |
| - ../agents:/agents | |
| - ../services:/services | |
| - uploads_data:/uploads | |
| command: celery -A app.core.celery_app worker --loglevel=info --concurrency=2 | |
| depends_on: | |
| - redis | |
| - postgres | |
| networks: | |
| - copilot_net | |
| # ββ React Frontend βββββββββββββββββββββββββββββββββββββββββ | |
| frontend: | |
| build: | |
| context: ../frontend | |
| dockerfile: Dockerfile | |
| container_name: copilot_frontend | |
| volumes: | |
| - ../frontend/src:/app/src | |
| ports: | |
| - "3000:3000" | |
| environment: | |
| - VITE_API_URL=http://localhost:8000 | |
| networks: | |
| - copilot_net | |
| # ββ Nginx Reverse Proxy ββββββββββββββββββββββββββββββββββββ | |
| nginx: | |
| image: nginx:alpine | |
| container_name: copilot_nginx | |
| ports: | |
| - "8080:80" | |
| volumes: | |
| - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro | |
| depends_on: | |
| - backend | |
| - frontend | |
| networks: | |
| - copilot_net | |
| # ββ Prometheus ββββββββββββββββββββββββββββββββββββββββββββ | |
| prometheus: | |
| image: prom/prometheus:latest | |
| container_name: copilot_prometheus | |
| volumes: | |
| - ../monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro | |
| - prometheus_data:/prometheus | |
| ports: | |
| - "9090:9090" | |
| command: | |
| - '--config.file=/etc/prometheus/prometheus.yml' | |
| - '--storage.tsdb.path=/prometheus' | |
| networks: | |
| - copilot_net | |
| # ββ Grafana βββββββββββββββββββββββββββββββββββββββββββββββ | |
| grafana: | |
| image: grafana/grafana:latest | |
| container_name: copilot_grafana | |
| environment: | |
| - GF_SECURITY_ADMIN_PASSWORD=admin | |
| - GF_USERS_ALLOW_SIGN_UP=false | |
| volumes: | |
| - grafana_data:/var/lib/grafana | |
| - ../monitoring/grafana/dashboards:/etc/grafana/provisioning/dashboards:ro | |
| ports: | |
| - "3001:3000" | |
| depends_on: | |
| - prometheus | |
| networks: | |
| - copilot_net | |
| volumes: | |
| postgres_data: | |
| redis_data: | |
| qdrant_data: | |
| uploads_data: | |
| prometheus_data: | |
| grafana_data: | |
| networks: | |
| copilot_net: | |
| driver: bridge | |