How to Run a FOSS Project on a Budget
Running a FOSS project doesn’t require AWS credits or corporate sponsorship. You can host everything — website, code, CI/CD, database, monitoring — for under €15/month using FOSS-friendly providers and tools. Here’s exactly how.
The €15/month Stack
| Service | Tool | Host | Monthly Cost |
|---|---|---|---|
| Website + Docs | Astro (static) | Netcup VPS | €0 (same server) |
| Code Hosting | Gitea | Netcup VPS | €0 (same server) |
| CI/CD | Woodpecker CI | Netcup VPS | €0 (same server) |
| Database | PostgreSQL | Netcup VPS | €0 (same server) |
| Backups | Restic | BuyVM Block Storage | $1.25 (256 GB) |
| Monitoring | Uptime Kuma | Netcup VPS | €0 (same server) |
| Analytics | Umami | Netcup VPS | €0 (same server) |
| Migadu (managed) | — | $19/year (~€1.50/mo) | |
| Domain | — | Porkbun/Namecheap | ~€1/mo |
| VPS | Netcup RS 1000 G9.5 | 4 vCPU, 8 GB RAM, 256 GB SSD | €8.99/mo |
| TOTAL | ~€12.74/mo |
Why This Works
Netcup’s RS 1000 at €8.99/month provides 4 vCPU, 8 GB RAM, and 256 GB SSD — enough headroom for Gitea, Woodpecker, PostgreSQL, and monitoring simultaneously. With KVM virtualization, you have full control over the OS and can run everything in Docker via Coolify or directly as systemd services.
BuyVM block storage at $1.25/month for 256 GB is the cheapest backup storage available. Point Restic at it with encryption enabled, schedule daily snapshots, and your project’s data is safer than on most managed platforms.
Migadu for email at $19/year provides unlimited domains and mailboxes with reasonable sending limits. You’re not self-hosting email infrastructure, but you’re supporting a small, privacy-respecting provider instead of Google or Microsoft.
If even this feels like too much infrastructure to juggle, OpsHelp’s managed hosting provides the same FOSS stack — pre-configured, monitored, and maintained — from £50/month.
Setting It Up
1. Provision the VPS
Choose Debian or Ubuntu. Update, harden SSH (disable password auth, change port), install fail2ban.
2. Install Coolify
Coolify gives you a Heroku-like experience on your own server. One command installs it, then you deploy applications via Git push or Docker Compose through a clean web UI.
3. Deploy Your Stack
- Gitea: single binary, configure in Coolify or via Docker Compose
- Woodpecker CI: Docker-based, connects to your Gitea instance
- PostgreSQL: managed by Coolify with automatic backups
- Umami: Docker, point at your PostgreSQL, done
- Uptime Kuma: Docker, add your services, configure notifications
4. Configure Backups
Install Restic on the VPS. Create a script that backs up Gitea repos, database dumps, and configuration files to BuyVM block storage. Schedule via cron. Test restores monthly.
What You Don’t Need
Many FOSS projects over-provision. Here’s what you can skip:
- CDN — Cloudflare’s free plan is fine for DDoS protection, but your static site served from a €9 VPS handles thousands of visitors without a CDN
- Object storage — unless you’re serving user uploads, your VPS storage is sufficient
- Managed database — PostgreSQL on your VPS is faster and cheaper than any managed service at this scale
- Kubernetes — Docker Compose or Coolify handles everything up to ~50 services before k8s complexity is worth it
Scaling When You Need To
When your project outgrows the €15 stack:
- Move the database to a separate VPS (€5/mo at Hetzner or Netcup)
- Add a second app server for redundancy
- Consider a dedicated server (€40-50/mo at Hetzner) when you need guaranteed CPU
- Only then consider managed services for specific components
The jump from €15 to €100/month should happen because your project genuinely needs the resources, not because you assumed you did.