|
| 1 | +# Scope and Design Boundaries |
| 2 | + |
| 3 | +## What Towlion Is |
| 4 | + |
| 5 | +- A **single-server micro-PaaS** for deploying small web applications |
| 6 | +- **GitHub as the control plane** — no custom dashboard, CLI, or API |
| 7 | +- **Docker Compose** for container orchestration, **Caddy** for reverse proxy and automatic TLS |
| 8 | +- **Fork-to-deploy** model — fork a template repo, configure secrets, push to deploy |
| 9 | +- **Opinionated stack** — FastAPI, PostgreSQL, Redis, MinIO, Celery |
| 10 | + |
| 11 | +## Design Boundaries |
| 12 | + |
| 13 | +These are intentional constraints, not missing features. They keep the platform simple and predictable. |
| 14 | + |
| 15 | +### Infrastructure |
| 16 | + |
| 17 | +| Boundary | Detail | |
| 18 | +|---|---| |
| 19 | +| Single server only | No clustering, no multi-server, no load balancing. Your server is a single point of failure by design. | |
| 20 | +| Debian Linux only | The bootstrap script targets Debian 12. Other distributions are untested. | |
| 21 | +| No automated server provisioning | You create and manage your own server. The bootstrap script configures it, but you are responsible for procurement and access. | |
| 22 | +| Fixed resource limits | Static CPU and memory limits per container. No auto-scaling. | |
| 23 | + |
| 24 | +### Deployment |
| 25 | + |
| 26 | +| Boundary | Detail | |
| 27 | +|---|---| |
| 28 | +| Brief downtime during deploys | `docker compose up -d --build` rebuilds and restarts containers. Caddy returns 502 during the gap. This is typically a few seconds. | |
| 29 | +| No built-in test pipeline | The deploy workflow builds and deploys. It does not run your test suite — add that step yourself if needed. | |
| 30 | +| Push-to-main deploys | No staging environment, no approval gates, no canary or blue-green deploys. Merging to `main` deploys to production. | |
| 31 | + |
| 32 | +### Operations |
| 33 | + |
| 34 | +| Boundary | Detail | |
| 35 | +|---|---| |
| 36 | +| No high availability | Single PostgreSQL, Redis, and MinIO instances. No replication or automatic failover. | |
| 37 | +| 5-minute alert granularity | Health checks run via cron every 5 minutes. This is not real-time monitoring. | |
| 38 | +| 7-day backup retention | Daily `pg_dump` with 7-day retention. Recovery is manual. There is no disaster recovery plan beyond these backups. | |
| 39 | +| No multi-tenant management | Each fork is independent. There is no shared admin panel or centralized management across apps. | |
| 40 | + |
| 41 | +### Technology |
| 42 | + |
| 43 | +| Boundary | Detail | |
| 44 | +|---|---| |
| 45 | +| Not Kubernetes | Docker Compose only. If you need pods, services, ingress controllers, or declarative infrastructure, use Kubernetes. | |
| 46 | +| Opinionated stack | FastAPI + PostgreSQL + Redis + MinIO + Caddy. Other frameworks and databases are outside the supported path. | |
| 47 | +| No container registry | Images are built on the server from source code. There is no registry push/pull step. | |
| 48 | + |
| 49 | +## When to Use Something Else |
| 50 | + |
| 51 | +| If you need... | Consider instead | |
| 52 | +|---|---| |
| 53 | +| Multi-server / high availability | Kubernetes, Docker Swarm, Nomad | |
| 54 | +| Auto-scaling | AWS ECS, Cloud Run, Fly.io | |
| 55 | +| Managed databases | AWS RDS, DigitalOcean Managed DB | |
| 56 | +| Zero-downtime deploys | Kubernetes rolling updates, blue-green deploy tooling | |
| 57 | +| Large-scale traffic | Cloud-native platforms with load balancers | |
| 58 | +| Non-Python backends | Dokku, Coolify, CapRover | |
| 59 | + |
| 60 | +## Sweet Spot |
| 61 | + |
| 62 | +Towlion is built for indie developers, small SaaS products, personal tools, hobby projects, and AI-generated applications. If your app serves a handful of users, runs comfortably on a single server, and you want to own your infrastructure without managing Kubernetes, Towlion is a good fit. |
0 commit comments