I Replaced My SaaS Stack with Self-Hosted Tools - Monthly Bill: $347 to $12
My SaaS bill was $347/month. Now it is $12 (just electricity). Here is every Docker config included.
The Stack
- Notion ($10) -> AppFlowy
- Vercel ($20) -> Coolify
- Datadog ($23/host) -> Grafana + Loki
- Railway ($20) -> Coolify
- Resend ($20) -> Listmonk
- PostHog ($30) -> Plausible Analytics
- Various ($224) -> Self-hosted
Hardware
Beelink Mini PC -- Intel N100, 16GB RAM, 500GB SSD. $150 one-time.
1. AppFlowy replaces Notion
services:
appflowy:
image: appflowyio/appflowy_cloud:latest
ports: ["8000:8000"]
volumes: [appflowy_data:/data]
Docs, databases, kanban. Offline-first. AI built in.
2. Coolify replaces Vercel + Railway
curl -fsSL https://cdn.coollify.io/install.sh | bash
Deploy from Git, automatic SSL, Docker-native.
3. Grafana + Loki replaces Datadog
services:
grafana:
image: grafana/grafana
ports: ["3000:3000"]
loki:
image: grafana/loki
ports: ["3100:3100"]
prometheus:
image: prom/prometheus
ports: ["9090:9090"]
4. Plausible replaces PostHog
services:
plausible:
image: ghcr.io/plausible/community-edition:v2.1
ports: ["8001:8000"]
environment:
- BASE_URL=https://analytics.yourdomain.com
Privacy-first analytics. No cookies. GDPR-compliant.
5. Listmonk replaces Resend
services:
listmonk:
image: listmonk/listmonk:latest
ports: ["9000:9000"]
6. Uptime Kuma replaces Better Uptime
services:
uptime:
image: louislam/uptime-kuma:1
ports: ["3001:3001"]
volumes: [uptime_data:/app/data]
Beautiful status pages. Alert integrations.
Full Docker Compose
version: "3.8"
services:
nginx-proxy:
image: jc21/nginx-proxy-manager:latest
ports: ["80:80", "443:443", "81:81"]
grafana:
image: grafana/grafana
ports: ["3000:3000"]
uptime:
image: louislam/uptime-kuma:1
ports: ["3001:3001"]
volumes: [uptime_data:/app/data]
coolify:
image: coollabsio/coolify:latest
ports: ["8080:8080"]
volumes:
uptime_data:
Cost Breakdown
- Before: $347/month
- After: $12/month (electricity)
- Annual savings: $4,020
Getting Started
- Buy the mini PC
- Install Ubuntu Server
- Install Docker:
curl -fsSL https://get.docker.com | sh - Start with one service (I recommend Uptime Kuma)
Great resource: Awesome Self-Hosted
What do you self-host? Share your setup below.
Disclosure: Amazon affiliate links. I earn a small commission at no extra cost to you.
Top comments (1)
That's a huge shift in your monthly — big win. SaaS creep is real for indie builders, those bills add up fast. It's tough figuring out what's worth the constant subscription. Taking control of your own stack just makes sense. You get the exact setup you need, without the bloat.