The Open Source Stack: Self-Host Everything and Pay Close to Nothing
A complete self-hosted stack for indie makers who want to eliminate SaaS subscriptions. Real tools, real costs, real trade-offs.
The fully self-hosted indie maker stack has never been more viable. Tools that used to require a DevOps team to run are now one-click deployments on a $6 VPS. If you are paying $200 to $400 per month in SaaS subscriptions and you have basic technical comfort, this stack can cut that to under $20. Here is exactly what to run and how.
The hosting foundation: Coolify
Coolify is the self-hosting control panel that makes everything else possible. It runs on a single VPS and gives you a Heroku-like interface for deploying apps, managing databases, setting up SSL, and handling environment variables. You deploy it once, and from that point it manages everything else.
A $6 to $12 per month VPS from Hetzner or DigitalOcean running Coolify replaces Vercel, Railway, and Render for most indie maker workloads. The trade-off is that you manage the server yourself. For a production app with real users, add a $4 per month managed backup. Total hosting cost: $10 to $16 per month.
Analytics: Umami or Plausible (self-hosted)
Umami is an open source, privacy-first analytics tool that self-hosts on a single container. It gives you pageviews, unique visitors, referrers, bounce rate, and event tracking with no data being sent to Google. The self-hosted version is completely free. The official cloud version costs $9 per month.
Plausible is the more polished alternative. The self-hosted version is full-featured and free. Both work with a Postgres or MySQL database that Coolify can provision in minutes. If you are currently paying for analytics, this is the fastest swap in the stack.
Email: Listmonk
Listmonk is a self-hosted newsletter and transactional email manager that handles subscriber lists, campaigns, templates, and analytics. It connects to any SMTP provider. You host Listmonk yourself for free, then pay only for SMTP sending. Amazon SES charges $0.10 per 1,000 emails. Sending 10,000 emails per month costs $1. Compare that to Mailchimp at $100 per month for the same volume.
The setup takes about 30 minutes with Coolify. The trade-off versus Mailchimp or ConvertKit is that you manage deliverability yourself, which means warming up your sending domain and monitoring bounce rates. For a maker with under 10,000 subscribers, this is manageable.
Database and backend: Supabase (self-hosted)
Supabase's open source version can be self-hosted on your VPS. You get Postgres, real-time subscriptions, authentication, storage, and edge functions, all running on your own infrastructure. The free cloud tier is generous enough for most indie projects at launch, but the self-hosted version removes all limits for the cost of a container.
Note: if your app is actively growing, the managed Supabase cloud is worth paying for. Self-hosting a database that holds production user data adds operational burden that is rarely worth the cost savings at scale. Self-hosted Supabase is best for side projects and early-stage products.
Automation: n8n
n8n is an open source workflow automation tool that replaces Zapier and Make for most indie maker use cases. It has 400+ integrations and runs entirely on your infrastructure. The self-hosted version is free with no workflow limits. Zapier charges $50 per month for 2,000 tasks. n8n on your VPS handles unlimited tasks for zero incremental cost.
Use cases for indie makers: sending emails when a new user signs up, syncing data between services, posting to social media on a schedule, processing webhook events from payment providers.
Customer support: Chatwoot
Chatwoot is an open source customer support platform that replaces Intercom and Freshdesk. It handles live chat, email support, social media messages, and a shared inbox. The self-hosted version is free. Intercom starts at $74 per month. If you need a support inbox for your product, this is the clearest trade-off in the stack.
Link shortening and analytics: Dub (self-hosted)
Dub is an open source link management tool with built-in analytics, custom domains, and UTM tracking. The self-hosted version replaces Bitly Pro and gives you full control over your link data. Useful for tracking campaign performance without paying per click for analytics.
The complete self-hosted cost breakdown
- VPS (Hetzner CX22): $6 per month
- Backup (Hetzner): $1.20 per month
- SMTP sending (Amazon SES, 10k emails): $1 per month
- Domain: $10 per year (~$0.83 per month)
- Total: ~$9 to $10 per month
Against this stack you are replacing: Vercel Pro ($20), Mailchimp or ConvertKit ($50 to $100), Zapier ($50), Intercom ($74), Plausible ($9), Bitly Pro ($35). That is $238 to $288 per month replaced by $9 to $10.
The self-hosted stack is not for everyone. It adds operational responsibility. But for a bootstrapped founder who is comfortable with a terminal and wants to minimize burn, it is the most financially efficient technical decision you can make in year one.
What not to self-host
Some things are worth paying for managed. Transactional email delivery (use Resend or SES managed, not your own mail server). CDN and DDoS protection (Cloudflare's free tier is better than anything you can run yourself). Payment processing (never self-host Stripe logic). Production databases with significant user data (the managed Supabase or PlanetScale overhead is worth the reliability guarantee).
The rule: self-host tools that touch your internal workflows. Pay for managed infrastructure that touches your users' data and uptime guarantees.