# Deployment ## Environments - development - test/CI - production ## Docker Compose Baseline services: - frontend - API - worker - PostgreSQL - Redis - reverse proxy Persistent data: - PostgreSQL data - Redis data where needed - image storage ## Reverse proxy Responsible for: - HTTPS/TLS - routing - compression - security headers - rate limiting where appropriate ## Configuration Environment variables/secrets: - database connection - Redis connection - authentication/session secrets - provider credentials - email credentials - storage credentials Application settings such as pricing strategy and site settings belong in the database. ## Backups Back up: - PostgreSQL - image storage - required environment/configuration information Retention policy and restore procedures must be documented for production. Disaster recovery should allow reconstruction elsewhere from database backup, image backup, and deployment/environment configuration. ## Future hosting Initial deployment targets a home server/NAS. The architecture should allow later movement to an online server or managed infrastructure without redesigning the domain model.