feat: indie status page MVP -- FastAPI + SQLite

- 8 DB models (services, incidents, monitors, subscribers, etc.)
- Full CRUD API for services, incidents, monitors
- Public status page with live data
- Incident detail page with timeline
- API key authentication
- Uptime monitoring scheduler
- 13 tests passing
- TECHNICAL_DESIGN.md with full spec
This commit is contained in:
IndieStatusBot 2026-04-25 05:00:00 +00:00
commit 902133edd3
4655 changed files with 1342691 additions and 0 deletions

23
docker-compose.yml Normal file
View file

@ -0,0 +1,23 @@
version: "3.8"
services:
app:
build: .
ports:
- "8000:8000"
environment:
- DATABASE_URL=sqlite+aiosqlite:///./data/statuspage.db
- SECRET_KEY=${SECRET_KEY:-change-me-to-a-random-string}
- ADMIN_API_KEY=${ADMIN_API_KEY:-change-me-to-a-secure-api-key}
- SITE_NAME=${SITE_NAME:-My SaaS Status}
- SITE_URL=${SITE_URL:-http://localhost:8000}
- SMTP_HOST=${SMTP_HOST:-}
- SMTP_PORT=${SMTP_PORT:-587}
- SMTP_USER=${SMTP_USER:-}
- SMTP_PASS=${SMTP_PASS:-}
- SMTP_FROM=${SMTP_FROM:-noreply@example.com}
volumes:
- statuspage-data:/app/data
volumes:
statuspage-data: