Spaces:
Running
Running
| version: '3.8' | |
| services: | |
| # PostgreSQL database | |
| postgres: | |
| image: postgres:16-alpine | |
| container_name: huggingclip-postgres | |
| environment: | |
| POSTGRES_DB: paperclip | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: paperclip | |
| POSTGRES_INITDB_ARGS: "--encoding=UTF8" | |
| ports: | |
| - "5432:5432" | |
| volumes: | |
| - postgres_data:/var/lib/postgresql/data | |
| healthcheck: | |
| test: ["CMD-SHELL", "pg_isready -U postgres"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| networks: | |
| - huggingclip-network | |
| # HuggingClip application | |
| paperclip: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| container_name: huggingclip-app | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| environment: | |
| # Database | |
| DATABASE_URL: postgres://postgres:paperclip@postgres:5432/paperclip | |
| # Paperclip config | |
| PORT: 3100 | |
| SERVE_UI: "true" | |
| NODE_ENV: development | |
| HOST: 0.0.0.0 | |
| PAPERCLIP_HOME: /paperclip | |
| PAPERCLIP_DEPLOYMENT_MODE: local | |
| # Agent providers (add your keys here) | |
| # ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} | |
| # GEMINI_API_KEY: ${GEMINI_API_KEY:-} | |
| # OPENAI_API_KEY: ${OPENAI_API_KEY:-} | |
| # HF Backup (optional for local testing) | |
| HF_TOKEN: ${HF_TOKEN:-} | |
| HF_USERNAME: ${HF_USERNAME:-} | |
| SYNC_INTERVAL: "180" | |
| BACKUP_DATASET_NAME: paperclip-backup-dev | |
| # Cloudflare (optional) | |
| # CLOUDFLARE_WORKERS_TOKEN: ${CLOUDFLARE_WORKERS_TOKEN:-} | |
| # CLOUDFLARE_ACCOUNT_ID: ${CLOUDFLARE_ACCOUNT_ID:-} | |
| # Telemetry | |
| PAPERCLIP_TELEMETRY_DISABLED: "1" | |
| DO_NOT_TRACK: "1" | |
| ports: | |
| - "7861:7861" # Public health server + dashboard | |
| - "3100:3100" # Direct Paperclip access (development only) | |
| volumes: | |
| - paperclip_data:/paperclip | |
| - ./paperclip-sync.py:/app/paperclip-sync.py | |
| - ./health-server.js:/app/health-server.js | |
| - ./start.sh:/app/start.sh | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:7861/health"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| start_period: 90s | |
| networks: | |
| - huggingclip-network | |
| cap_add: | |
| - NET_ADMIN # For potential network utilities | |
| volumes: | |
| postgres_data: | |
| driver: local | |
| paperclip_data: | |
| driver: local | |
| networks: | |
| huggingclip-network: | |
| driver: bridge | |