Local setup¶
Docker Compose (recommended)¶
Same as Install. Use Caddyfile.dev for self-signed TLS if needed.
Python host (partial)¶
python3 -m venv .venv
source .venv/bin/activate
# Locked deps (same as Docker/CI) โ do not use floating pip install -e ".[dev]" for release work
pip install --require-hashes -r requirements.lock.txt
pip install --no-deps -e .
# Or: uv sync --frozen --extra dev
# Refresh pins: ./scripts/refresh-lockfiles.sh
# Need Postgres + Redis (compose up db redis) and .env
uvicorn app.main:app --reload
Schema: Alembic on startup, or:
Frontend assets¶
Build step vendors Tailwind/HTMX/Alpine. Offline image needs successful vendor at build time.
Dependency locks¶
| File | Role |
|---|---|
pyproject.toml | Declared mins |
uv.lock | Resolver source of truth |
requirements.lock.txt | Hashed pins for Docker + CI (runtime + dev) |
requirements.runtime.lock.txt | Runtime-only pins |
See SECURITY.md (Dependencies & supply chain).
Docs site (this wiki)¶
See Contributing docs.