Add infrastructure: Terraform, Docker Compose, BRouter, CD pipeline (#2)
Terraform: - Hetzner CX22 server with Docker, firewall (80/443/22) - SSH key and output for server IP Docker Compose: - Caddy reverse proxy (auto HTTPS) - Journal and Planner app containers - BRouter routing engine container - PostgreSQL + PostGIS - Garage S3 storage BRouter: - Dockerfile based on eclipse-temurin:11-jre - Segment download script for Germany (4 tiles, ~750MB) CD Pipeline: - Build & push Docker images to ghcr.io on main push - Deploy step commented out (enable when server provisioned) Scripts: - PostgreSQL daily backup with 14-day retention - Dockerfiles for both apps (multi-stage builds) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
464ba0f64d
commit
7908a518b1
13 changed files with 429 additions and 7 deletions
|
|
@ -19,14 +19,14 @@
|
|||
|
||||
## 3. Infrastructure
|
||||
|
||||
- [ ] 3.1 Create Terraform config for Hetzner CX21 with Docker installed
|
||||
- [ ] 3.2 Create Docker Compose for all services (Journal, Planner, BRouter, PostgreSQL+PostGIS, Garage)
|
||||
- [ ] 3.3 Create BRouter Dockerfile with segment volume mount
|
||||
- [ ] 3.4 Create segment download script (Germany: E5_N45, E5_N50, E10_N45, E10_N50)
|
||||
- [ ] 3.5 Configure DNS for trails.cool and planner.trails.cool with TLS (Caddy)
|
||||
- [x] 3.1 Create Terraform config for Hetzner CX21 with Docker installed
|
||||
- [x] 3.2 Create Docker Compose for all services (Journal, Planner, BRouter, PostgreSQL+PostGIS, Garage)
|
||||
- [x] 3.3 Create BRouter Dockerfile with segment volume mount
|
||||
- [x] 3.4 Create segment download script (Germany: E5_N45, E5_N50, E10_N45, E10_N50)
|
||||
- [x] 3.5 Configure DNS for trails.cool and planner.trails.cool with TLS (Caddy)
|
||||
- [x] 3.6 Set up GitHub Actions CI pipeline (build, typecheck, lint, unit tests, e2e)
|
||||
- [ ] 3.7 Set up GitHub Actions CD pipeline (build Docker images, push to ghcr.io, deploy to Hetzner)
|
||||
- [ ] 3.8 Set up PostgreSQL backup cron (daily pg_dump to Hetzner Storage Box)
|
||||
- [x] 3.7 Set up GitHub Actions CD pipeline (build Docker images, push to ghcr.io, deploy to Hetzner)
|
||||
- [x] 3.8 Set up PostgreSQL backup cron (daily pg_dump to Hetzner Storage Box)
|
||||
|
||||
## 4. Planner — Session Management
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue