Add Docker and compose setup

This commit is contained in:
2025-11-18 13:21:14 -05:00
parent 40d4f41f6e
commit 86fd017f3c
4 changed files with 117 additions and 0 deletions

View File

@@ -85,3 +85,26 @@ Visit <http://localhost:8080/> and youll see a barebones UI that:
Feel free to expand on this scaffold—add proper logging, schedule transcript
updates, or flesh out the UI—once youre happy with the baseline behaviour.
## Run with Docker Compose
A quick single-node stack (app + Elasticsearch + Qdrant) is included:
```bash
docker compose build
docker compose up
```
Services:
- **app** (port 8080): Flask UI/API, embeds queries on demand (downloads the model on first run).
- **elasticsearch** (port 9200): single node, security disabled for local use.
- **qdrant** (port 6333): vector index used by `/vector-search`.
Key environment wiring (see `docker-compose.yml` for defaults):
- `ELASTIC_URL=http://elasticsearch:9200`
- `ELASTIC_INDEX=this_little_corner_py`
- `QDRANT_URL=http://qdrant:6333`
- `QDRANT_COLLECTION=tlc-captions-full`
- `LOCAL_DATA_DIR=/app/data/video_metadata` (mounted from `./data`)
Mount `./data` (read-only) if you want local fallbacks for metrics; otherwise the app relies entirely on Elasticsearch/Qdrant. Stop the stack with `docker compose down` (add `-v` to clear ES/Qdrant volumes).