Sets up everything needed to deploy behind Cloudflare with a self-hosted git server: multi-stage prod Dockerfiles (non-root), docker-compose.prod.yml (Postgres/Redis with no host ports, Nginx reverse proxy, Gitea with public-read/admin-write access control), scripts/bootstrap-env.sh to auto-generate required secrets on first clone, and DEPLOYMENT.md covering the full runbook. Provider API keys (Anthropic/Brave/NinjaPear/USPTO/ Turnstile) are deliberately kept out of .env in favor of the existing DB-backed Settings UI, so the public repo stays safe to expose. Also fixes two bugs only surfaced by live-testing the prod stack: Celery beat couldn't write its schedule file as a non-root user, and Gitea's embedded SSH server conflicted with the base image's own sshd on port 22. Co-Authored-By: Claude Sonnet 5 <[email protected]>
64 lines
843 B
Plaintext
64 lines
843 B
Plaintext
# --- env / secrets ---
|
|
.env
|
|
.env.local
|
|
*.pem
|
|
*.key
|
|
|
|
# --- Python ---
|
|
__pycache__/
|
|
*.py[cod]
|
|
*.egg-info/
|
|
.venv/
|
|
venv/
|
|
.pytest_cache/
|
|
.ruff_cache/
|
|
.mypy_cache/
|
|
htmlcov/
|
|
.coverage
|
|
*.db
|
|
*.db-journal
|
|
*.db-shm
|
|
*.db-wal
|
|
*.sqlite3
|
|
.fixture_state
|
|
celerybeat-schedule
|
|
|
|
# --- Node / Next.js ---
|
|
node_modules/
|
|
.next/
|
|
out/
|
|
dist/
|
|
build/
|
|
.turbo/
|
|
coverage/
|
|
*.tsbuildinfo
|
|
.eslintcache
|
|
|
|
# --- Playwright ---
|
|
test-results/
|
|
playwright-report/
|
|
playwright/.cache/
|
|
|
|
# --- Docker / OS ---
|
|
.DS_Store
|
|
Thumbs.db
|
|
# Stray file Git Bash on Windows sometimes creates from a `> nul` redirect
|
|
# that doesn't map to the real NUL device the way cmd.exe's does.
|
|
nul
|
|
|
|
# --- IDE ---
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
.idea/
|
|
|
|
# --- Logs ---
|
|
*.log
|
|
logs/
|
|
|
|
# --- Local dev data ---
|
|
apps/api/ciagent_dev.db
|
|
mailpit-data/
|
|
|
|
# --- Local agent tooling state (not app source) ---
|
|
.claude/
|