Download docker-compose.control-node.yml from Aaryan17/RamMAC: direct link, hf CLI and curl.
- Browser
- Download file 3.86 kB
-
https://huggingface.co/spaces/Aaryan17/RamMAC/resolve/main/docker-compose.control-node.yml
- Command line
-
hf download hf://spaces/Aaryan17/RamMAC/docker-compose.control-node.yml
-
curl -L -o docker-compose.control-node.yml https://huggingface.co/spaces/Aaryan17/RamMAC/resolve/main/docker-compose.control-node.yml
3.86 kB
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # MAC β Control Node (PC1) | |
| # This PC runs: API server, DB, Redis, Nginx, Qdrant, SearXNG | |
| # Worker GPU nodes connect to this control node via enrollment tokens. | |
| # | |
| # Usage: docker compose -f docker-compose.control-node.yml up -d | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| services: | |
| # ββ MAC API Server ββββββββββββββββββββββββββββββββββββββ | |
| mac: | |
| build: . | |
| container_name: mac-api | |
| ports: | |
| - "8000:8000" | |
| env_file: .env | |
| environment: | |
| - DATABASE_URL=postgresql+asyncpg://mac:mac_password@postgres:5432/mac_db | |
| - REDIS_URL=redis://redis:6379/0 | |
| - QDRANT_URL=http://qdrant:6333 | |
| - SEARXNG_URL=http://searxng:8080 | |
| - IS_CONTROL_NODE=true | |
| - MAX_RESOURCE_PCT=85 | |
| # vLLM URLs are dynamically resolved via node_service | |
| # based on enrolled worker nodes | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| redis: | |
| condition: service_healthy | |
| restart: unless-stopped | |
| networks: | |
| - mac-net | |
| # ββ PostgreSQL βββββββββββββββββββββββββββββββββββββββββ | |
| postgres: | |
| image: postgres:16-alpine | |
| container_name: mac-postgres | |
| environment: | |
| POSTGRES_USER: mac | |
| POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-mac_password} | |
| POSTGRES_DB: mac_db | |
| ports: | |
| - "5432:5432" | |
| volumes: | |
| - pgdata:/var/lib/postgresql/data | |
| healthcheck: | |
| test: ["CMD-SHELL", "pg_isready -U mac -d mac_db"] | |
| interval: 5s | |
| timeout: 5s | |
| retries: 5 | |
| restart: unless-stopped | |
| networks: | |
| - mac-net | |
| # ββ Redis ββββββββββββββββββββββββββββββββββββββββββββββ | |
| redis: | |
| image: redis:7-alpine | |
| container_name: mac-redis | |
| ports: | |
| - "6379:6379" | |
| volumes: | |
| - redisdata:/data | |
| healthcheck: | |
| test: ["CMD", "redis-cli", "ping"] | |
| interval: 5s | |
| timeout: 5s | |
| retries: 5 | |
| restart: unless-stopped | |
| networks: | |
| - mac-net | |
| # ββ Nginx ββββββββββββββββββββββββββββββββββββββββββββββ | |
| nginx: | |
| image: nginx:alpine | |
| container_name: mac-nginx | |
| ports: | |
| - "80:80" | |
| volumes: | |
| - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro | |
| - ./frontend:/usr/share/nginx/html:ro | |
| depends_on: | |
| - mac | |
| restart: unless-stopped | |
| networks: | |
| - mac-net | |
| # ββ Qdrant (Vector DB for RAG) βββββββββββββββββββββββββ | |
| qdrant: | |
| image: qdrant/qdrant:latest | |
| container_name: mac-qdrant | |
| ports: | |
| - "6333:6333" | |
| volumes: | |
| - qdrantdata:/qdrant/storage | |
| restart: unless-stopped | |
| networks: | |
| - mac-net | |
| # ββ SearXNG (Web Search) ββββββββββββββββββββββββββββββ | |
| searxng: | |
| image: searxng/searxng:latest | |
| container_name: mac-searxng | |
| ports: | |
| - "8888:8080" | |
| environment: | |
| - SEARXNG_BASE_URL=http://localhost:8888/ | |
| volumes: | |
| - searxngdata:/etc/searxng | |
| restart: unless-stopped | |
| networks: | |
| - mac-net | |
| volumes: | |
| pgdata: | |
| redisdata: | |
| qdrantdata: | |
| searxngdata: | |
| networks: | |
| mac-net: | |
| driver: bridge | |