Add Docker Compose setup for web chat and email worker

Two services sharing a single image:
- web: Chainlit chat interface on port 8000
- email-worker: IMAP polling agent (main.py)

./data is mounted for persistent storage (registrations + conversations).
./openspec is mounted read-only so knowledge-base markdown files can be
edited on the host without rebuilding the image.

Configuration via .env (see .env.example).

https://claude.ai/code/session_015tJePX9eyQENYpJUF8XvvK
This commit is contained in:
Claude
2026-02-26 16:31:11 +00:00
parent 52901dd7c4
commit 6866d126cb
3 changed files with 68 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# Secrets — never bake into the image
.env
# Version control
.git/
.gitignore
# Python build artefacts
__pycache__/
*.pyc
*.pyo
.pytest_cache/
# Tests — not needed at runtime
tests/
# Persistent data — mounted as a volume at runtime
data/
# Tool configs — not needed in the container
.claude/
.gemini/