Commit Graph
2 Commits
Author SHA1 Message Date
RichieandClaude Fable 5 903ad749b0 feat(ebook): install sqlalchemy[asyncio] in the ebook-search container
The async engine needs greenlet at runtime, which the asyncio extra
provides. Test-only deps (aiosqlite, pytest-asyncio) stay out of the
image.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 13:34:04 -04:00
Richie 5ca8e4d591 feat(ebook): add Docker packaging and lifecycle tooling
Add a self-contained docker/ package for running the ebook search app
against the existing Postgres database on jeeves:

- Dockerfile: python:3.14-slim image, non-root user, runs the FastAPI
  app on port 8070
- docker-compose.yml: service definition with library volume mount,
  BM25 index volume, .env loading, and a /health healthcheck
- containers.py: Typer CLI (ebook-search-containers) for build/start/
  stop/restart/logs/ps lifecycle management
- README.md: usage and configuration docs
2026-07-12 13:34:04 -04:00