| # Deployment |
|
|
| This project is configured for a local app container with Qdrant Cloud and local NetworkX graph files. |
|
|
| ## Local App With Cloud Databases |
|
|
| Copy environment variables: |
|
|
| ```powershell |
| Copy-Item .env.example .env |
| ``` |
|
|
| Fill in the required secrets, then run: |
|
|
| ```powershell |
| docker compose up --build |
| ``` |
|
|
| Services: |
|
|
| - Backend: `http://localhost:8000` |
| - Backend docs: `http://localhost:8000/docs` |
| - Frontend: `http://localhost:8501` |
|
|
| Your `.env` should point to cloud databases: |
|
|
| ```env |
| QDRANT_URL=https://your-qdrant-cloud-cluster-url |
| QDRANT_API_KEY=your_qdrant_cloud_api_key |
| ``` |
|
|
| Backup local Docker Compose values: |
|
|
| ```env |
| # QDRANT_URL=http://qdrant:6333 |
| ``` |
|
|
| Dependency graphs are stored locally under `data/graphs/*.json`, so Neo4j is not required. The local Qdrant service definition is kept as comments in `docker-compose.yml`; uncomment it only if you want offline/local vector storage again. |
|
|
| ## Public Deployment |
|
|
| For a public deployed link, do not point the backend at databases on your laptop. Use reachable services: |
|
|
| ```env |
| QDRANT_URL=https://your-qdrant-cloud-url |
| QDRANT_API_KEY=your_qdrant_key |
| GEMINI_API_KEY=your_gemini_key |
| ``` |
|
|
| Recommended setup: |
|
|
| - Deploy backend as a container. |
| - Deploy frontend as a Streamlit service or separate container. |
| - Use Qdrant Cloud for vectors. |
| - Persist `data/graphs` if you need graph data to survive container rebuilds. |
| - Store all keys as platform secrets. |
|
|
| ## CI/CD |
|
|
| The GitHub Actions workflow in `.github/workflows/ci.yml` performs: |
|
|
| - Python dependency installation |
| - Python syntax compilation |
| - Optional tests |
| - Backend Docker image build |
| - Frontend Docker image build |
|
|
| Add deploy steps for your platform after the build jobs pass. |
|
|