f04b9b3588
SLICE-01 (lead-developer): multi-stage Dockerfile (node:22-slim→python:3.12-slim), .dockerignore (excludes secrets/node_modules/.git), docker-compose.yml (port 8789, SQLite volume, env injection for all voice-service vars) SLICE-02 (backend-engineer+data-engineer): FastAPI mounts client/dist as StaticFiles at / after API routes (D-023, REQ-DEPLOY-13). G-102 MUST fix: db/store.py + db/migrate.py now read PRAXIS_DB_PATH from env so the Docker volume mount persists SQLite data. G-105 FIX: Dockerfile copies pyproject.toml before source (pip install layer cached, source changes don't invalidate). REQ-DEPLOY-01, 02, 13, 16 covered. ---ci--- project: praxis phase: 1 milestone: v0.2 status: execute slice: 01-02 wave: 1 ---/ci---
56 lines
828 B
Plaintext
56 lines
828 B
Plaintext
# Praxis — Docker build context exclusions
|
|
# Keep context small (no node_modules, no .git, no pre-built dist).
|
|
|
|
# Node / client
|
|
client/node_modules/
|
|
client/dist/
|
|
client/.vite/
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
.eggs/
|
|
*.egg-info/
|
|
build/
|
|
dist/
|
|
.venv/
|
|
venv/
|
|
|
|
# Git
|
|
.git/
|
|
.gitignore
|
|
|
|
# CI / planning (not needed inside the container image)
|
|
.ciagent/
|
|
|
|
# Secrets — NEVER in the image
|
|
.env
|
|
.env.secrets
|
|
.env.*
|
|
!.env.example
|
|
|
|
# SQLite DBs (mounted as a volume, not baked in)
|
|
*.db
|
|
*.db-journal
|
|
*.db-wal
|
|
*.db-shm
|
|
|
|
# Test / coverage artifacts
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
coverage.out
|
|
|
|
# Deploy scripts (the CT clones the repo separately for scripts;
|
|
# the image only needs server + client + db + scenarios)
|
|
scripts/
|
|
|
|
# Piper voice models (pre-staged locally, not in image)
|
|
*.onnx
|
|
*.pt
|
|
*.bin
|
|
piper_models/
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db |