Spaces:
Sleeping
Sleeping
| # --------------------------------------------------------------------------- | |
| # Local-dev wrapper around the single-container HuggingFace Spaces image. | |
| # | |
| # This file used to spin up three services (FastAPI backend, CRA dev server, | |
| # MongoDB). The HF deployment shape (single-container, SQLite on the bucket) | |
| # is now also the local-dev shape — same image you push to the Space — so | |
| # this is a one-service compose with a named volume that emulates the HF | |
| # Storage Bucket mount. | |
| # | |
| # Override CYBERPANEL_HOST_PORT via .env (or shell) if 7861 conflicts; the | |
| # in-container port is fixed at 7860 to mirror HF Spaces. | |
| # --------------------------------------------------------------------------- | |
| services: | |
| app: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| image: cybersecurity-panel:dev | |
| ports: | |
| - "${CYBERPANEL_HOST_PORT:-7861}:7860" | |
| environment: | |
| JWT_SECRET_KEY: ${JWT_SECRET_KEY:-CHANGEME-by-overriding-in-dot-env-file} | |
| GEMINI_API_KEY: ${GEMINI_API_KEY:-} | |
| OPENAI_API_KEY: ${OPENAI_API_KEY:-} | |
| VLLM_API_KEY: ${VLLM_API_KEY:-} | |
| VLLM_API_USERNAME: ${VLLM_API_USERNAME:-} | |
| GEMINI_MODEL: ${GEMINI_MODEL:-gemini-2.5-flash} | |
| CONFIG_PATH: ${CONFIG_PATH:-/home/user/app/cybersecurity_config.yaml} | |
| # Same-origin in single-container; only relevant for cross-origin dev. | |
| CORS_ORIGINS: ${CORS_ORIGINS:-*} | |
| # SQLite + ChromaDB persistence both land here. The named volume below | |
| # mirrors the HF Storage Bucket mount so user data survives rebuilds. | |
| DATA_DIR: /data | |
| volumes: | |
| - cybersecurity_data:/data | |
| volumes: | |
| cybersecurity_data: | |