Download docker-compose.yml from MHamdan/SPARKNET: direct link, hf CLI and curl.
- Browser
- Download file 3.97 kB
-
https://huggingface.co/spaces/MHamdan/SPARKNET/resolve/76c3b0a8cd44eb930c2ad41fc0e95acdb3cd2bab/docker-compose.yml
- Command line
-
hf download hf://spaces/MHamdan/SPARKNET@76c3b0a8cd44eb930c2ad41fc0e95acdb3cd2bab/docker-compose.yml
-
curl -L -o docker-compose.yml https://huggingface.co/spaces/MHamdan/SPARKNET/resolve/76c3b0a8cd44eb930c2ad41fc0e95acdb3cd2bab/docker-compose.yml
3.97 kB
| version: '3.8' | |
| # SPARKNET Docker Compose Configuration | |
| # Full stack deployment with all services | |
| services: | |
| # ============== Main Application ============== | |
| sparknet-api: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| target: production | |
| container_name: sparknet-api | |
| ports: | |
| - "8000:8000" | |
| volumes: | |
| - ./data:/app/data | |
| - ./uploads:/app/uploads | |
| - ./outputs:/app/outputs | |
| - ./logs:/app/logs | |
| environment: | |
| - PYTHONPATH=/app | |
| - OLLAMA_HOST=http://ollama:11434 | |
| - CHROMA_HOST=chromadb | |
| - CHROMA_PORT=8000 | |
| - REDIS_URL=redis://redis:6379 | |
| - SPARKNET_SECRET_KEY=${SPARKNET_SECRET_KEY:-sparknet-docker-secret-key} | |
| - LOG_LEVEL=INFO | |
| depends_on: | |
| ollama: | |
| condition: service_healthy | |
| chromadb: | |
| condition: service_started | |
| redis: | |
| condition: service_healthy | |
| networks: | |
| - sparknet-network | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| start_period: 60s | |
| sparknet-demo: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| target: production | |
| container_name: sparknet-demo | |
| command: ["streamlit", "run", "demo/app.py", "--server.address", "0.0.0.0", "--server.port", "4000"] | |
| ports: | |
| - "4000:4000" | |
| volumes: | |
| - ./data:/app/data | |
| - ./uploads:/app/uploads | |
| - ./outputs:/app/outputs | |
| environment: | |
| - PYTHONPATH=/app | |
| - OLLAMA_HOST=http://ollama:11434 | |
| - CHROMA_HOST=chromadb | |
| - CHROMA_PORT=8000 | |
| - API_URL=http://sparknet-api:8000 | |
| depends_on: | |
| - sparknet-api | |
| networks: | |
| - sparknet-network | |
| restart: unless-stopped | |
| # ============== Ollama LLM Service ============== | |
| ollama: | |
| image: ollama/ollama:latest | |
| container_name: sparknet-ollama | |
| ports: | |
| - "11434:11434" | |
| volumes: | |
| - ollama_data:/root/.ollama | |
| environment: | |
| - OLLAMA_KEEP_ALIVE=24h | |
| deploy: | |
| resources: | |
| reservations: | |
| devices: | |
| - driver: nvidia | |
| count: all | |
| capabilities: [gpu] | |
| networks: | |
| - sparknet-network | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 5 | |
| start_period: 120s | |
| # ============== ChromaDB Vector Store ============== | |
| chromadb: | |
| image: chromadb/chroma:latest | |
| container_name: sparknet-chromadb | |
| ports: | |
| - "8001:8000" | |
| volumes: | |
| - chroma_data:/chroma/chroma | |
| environment: | |
| - IS_PERSISTENT=TRUE | |
| - PERSIST_DIRECTORY=/chroma/chroma | |
| - ANONYMIZED_TELEMETRY=FALSE | |
| networks: | |
| - sparknet-network | |
| restart: unless-stopped | |
| # ============== Redis Cache ============== | |
| redis: | |
| image: redis:7-alpine | |
| container_name: sparknet-redis | |
| ports: | |
| - "6379:6379" | |
| volumes: | |
| - redis_data:/data | |
| command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru | |
| networks: | |
| - sparknet-network | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "redis-cli", "ping"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| # ============== Nginx Reverse Proxy (Optional) ============== | |
| nginx: | |
| image: nginx:alpine | |
| container_name: sparknet-nginx | |
| ports: | |
| - "80:80" | |
| - "443:443" | |
| volumes: | |
| - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro | |
| - ./nginx/ssl:/etc/nginx/ssl:ro | |
| depends_on: | |
| - sparknet-api | |
| - sparknet-demo | |
| networks: | |
| - sparknet-network | |
| restart: unless-stopped | |
| profiles: | |
| - production | |
| # ============== Volumes ============== | |
| volumes: | |
| ollama_data: | |
| driver: local | |
| chroma_data: | |
| driver: local | |
| redis_data: | |
| driver: local | |
| # ============== Networks ============== | |
| networks: | |
| sparknet-network: | |
| driver: bridge | |