File size: 1,700 Bytes
ee9a09c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# 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.