Add production deployment config, Alembic migration, switch to Haiku

- Production Docker Compose with Caddy reverse proxy, Gunicorn, Nginx
- Multi-stage frontend build for production
- Deploy script and automated database backup script
- Initial Alembic migration with all tables
- Switch recommendation model from Sonnet to Haiku for cost efficiency
This commit is contained in:
root
2026-03-30 21:40:16 -05:00
parent b97955d004
commit cef7d576d4
9 changed files with 262 additions and 1 deletions

51
docker-compose.prod.yml Normal file
View File

@@ -0,0 +1,51 @@
services:
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: vynl
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: vynl
volumes:
- pgdata:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7-alpine
restart: unless-stopped
backend:
build:
context: ./backend
dockerfile: Dockerfile.prod
env_file: ./backend/.env
depends_on:
- db
- redis
restart: unless-stopped
frontend:
build:
context: ./frontend
dockerfile: Dockerfile.prod
args:
VITE_API_URL: ${VITE_API_URL:-}
restart: unless-stopped
caddy:
image: caddy:2-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
depends_on:
- backend
- frontend
restart: unless-stopped
volumes:
pgdata:
caddy_data:
caddy_config: