-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Goal
Provision a Hetzner Cloud VPS instance, configure networking, install dependencies, set up PostgreSQL, and deploy the FastAPI application using Terraform for IaC and Docker Compose for app orchestration.
Requirements
Functional
- Provision Hetzner Cloud CPX11 VPS (2 CPU, 4GB RAM, 40GB NVMe, Ubuntu 22.04).
- Configure firewall rules (SSH from allowed IPs, HTTP/HTTPS public).
- Install PostgreSQL 15 with automated backups to Hetzner storage volume.
- Configure Nginx as reverse proxy with SSL via Let's Encrypt/Certbot.
- Deploy FastAPI app, Streamlit dashboard, and Nginx via Docker Compose.
Technical
- IaC: Terraform configuration in
infra/terraform/. - Docker Compose: Production
docker-compose.prod.yml. - Secrets: Managed via environment variables (no secrets in code).
- Monitoring: Systemd logs for all services.
Acceptance Criteria
-
terraform applyprovisions VPS and networking. -
docker-compose upstarts all services. -
GET /healthreturns 200 from public URL. - SSL certificate is valid.
- PostgreSQL backups run on schedule.
Dependencies
- Blocked by: Issue 01: FastAPI scaffold #1 to Issue 22: OpenAPI Spec and Postman Collection #22 (all backend endpoints must be complete).
- Blocks: Issue 29: CI/CD Deployment Workflow #29 (CI/CD Deployment Workflow).
Reactions are currently unavailable