Self-Hosted Enterprise Stack

There is a particular kind of meeting that changes the direction of a project. At Prachyam Studios, it was a cost-reduction meeting where the marketing team presented a projected bill for a six-month email campaign: the dataset was 350 million records — Mailchimp's enterprise cap is 200K contacts, so the campaign required a custom enterprise quote. The estimate that came back was approximately ₹2.78 crore.
I said I could do it for the cost of a VPS. The room went quiet in the way rooms go quiet when someone has just said something that sounds either very smart or very wrong.
That was the starting point. What followed was a full infrastructure overhaul that touched email, file storage, the development network, and eventually the AI tooling the team used every day. The instinct behind each decision was the same one I developed years earlier running a cyber café — 33 machines, every piece of software accounted for, a clear view of what was running under you and what it cost. When you grow up with that kind of visibility, you never fully trust a bill from a vendor you cannot inspect.
A 22-person studio needed reliable email across 12 domains, shared file storage and collaboration, a private development network capable of running a 9-platform OTT monorepo, and AI tooling — all without the budget for enterprise SaaS pricing and with a specific, immediate constraint: a 350-million-record email campaign for which Mailchimp's estimated enterprise quote was ~₹2.78 crore.
The math on the Mailchimp situation was not complicated once I laid it out. A fleet of RackNerd VPS at ~₹14,000/year total (~₹6,000/year infra + ~₹8,000/year domains), Mailcow on Docker, and a week of configuration work would handle the campaign and then keep handling the company's ongoing mail indefinitely. The ~₹2.78 crore figure was Mailchimp's estimated enterprise quote for the six-month campaign run. The self-hosted alternative cost a small fraction of that for the same period.
Deploying Mailcow was the straightforward part. The harder work was deliverability: SPF, DKIM, and DMARC records for all 12 domains, warming the IP progressively to avoid spam classification, configuring Rspamd to catch inbound spam without being so aggressive it bounced legitimate mail. ClamAV handles virus scanning. The Mailcow admin panel makes ongoing management approachable enough that I am not the only person who can touch it.
One integration that paid off quietly: Mailcow's OAuth layer connects to Nextcloud as an SSO provider. Team members authenticate once and get access to both email and the file-sharing suite. Small detail, real friction reduction.
By the end of the campaign period the stack had processed approximately 20 million emails across the 12 domains. The deliverability rate was the metric the marketing team watched; it held.
After the email win, I started looking at the next line item. Google Workspace combined with LucidLink for the 22-person team was running to approximately ₹8.90 lakh per year. I replaced it with Nextcloud on the same VPS and a pCloud lifetime plan purchased during Black Friday 2025 for $599 one-time.
The payback period on the pCloud purchase was roughly 25 days against what the team was spending monthly. After that it is pure saving. Nextcloud handles the collaboration surface — file sharing, document editing, calendar, video calls — with LDAP authentication centralising user management. Quotas prevent any single user from filling the disk.
The migration from LucidLink took a weekend. The team noticed the change in interface; they did not notice a drop in capability.
This one was born from a specific hardware constraint. The company-issued machines were 16GB M1 iMacs. Running a 9-platform OTT monorepo alongside a Docker stack on 16GB of RAM is possible in the way that sleeping in a car is possible — technically true, practically miserable. I could not order new hardware. What I could do was look at what we already had.
The Pune office had two additional machines sitting underutilised. I built a 3-machine Tailscale mesh: every machine can reach every other machine over the VPN, dnsmasq handles private DNS resolution so services are accessible by name rather than IP, and Caddy provides HTTPS with valid certificates on the private network. Build services and Docker containers that were overwhelming the iMac get offloaded to the peer machines. The monorepo runs. Nobody buys new hardware.
The mesh architecture traces back to the same instinct as the cyber café years — when you have 33 machines networked together, you think in terms of distributed load rather than upgrading any single node. That instinct applied directly here.
The office had idle GPU machines. The team was paying cloud API costs for AI tooling that those machines could run locally. The setup was straightforward once I identified it: Pinokio one-click installs for Flux (image generation), Kokoro (TTS), Parrot (audio dubbing), and Whisper (transcription) — all running on the local hardware, exposed over the Tailscale mesh so any team member can access them.
10 custom MCP (Model Context Protocol) servers sit on top of this: codebase semantic search via Qdrant, deployment automation, log analysis, documentation generation, and code review assistance. The servers integrate with Claude and other LLM providers, routing requests to local models where possible and cloud APIs where necessary.
Cloud AI API costs dropped to effectively zero for the use cases the local models cover.
Commercial SaaS vs self-hosted — adjust the sliders to see the difference.
Google Workspace
22 users × 12 domains × $6/mo
LucidLink
22 users × $25/mo
Tailscale Business
22 users × $6/mo
Mailcow (Self-Hosted)
Shared VPS — ~₹800/mo total
NextCloud (Self-Hosted)
Runs on the same VPS — ₹0 extra
Tailscale Free + Caddy
Free tier + self-hosted Caddy — ₹0
~₹23.0 lakhs saved per year (100% reduction)
The infrastructure now serves the 22-person team with ~20 million emails processed across 12 domains, file sharing and collaboration running on Nextcloud with a one-time storage cost already paid back in under a month, a 3-machine dev mesh that turned an underpowered iMac situation into a distributed build system, and local AI models that eliminated cloud API costs for the studio's common AI workloads.
Total ongoing infrastructure cost: ~₹14,000/year (6 RackNerd VPS + domains). The pCloud lifetime storage is already paid.
What I learned is that the self-hosting instinct — wanting to understand what runs under you, wanting to own the variable rather than rent it indefinitely — is not nostalgia. It is a compounding advantage. Every tool you understand deeply is a tool whose cost you can eventually eliminate. The constraint that built the cyber-café worldview turns out to be the same constraint that replaced a ₹2.78 crore Mailchimp enterprise quote (estimated) with a ~₹14,000/year self-hosted stack.
vs. Mailchimp quote (estimated)
6 VPS nodes
self-hosted storage
Battle-tested mail stack with DKIM/SPF/DMARC out of the box, built-in SOGo webmail, and automatic certificate management via Let's Encrypt
Zero-config mesh networking with SSO integration, ACL-based access control, and NAT traversal without manual key exchange or port forwarding
Single-server deployment with simpler operations, lower resource overhead, and docker-compose up for the entire stack — K8s would be overkill here
Email Cost
Uptime
20M emails, 12 domains, zero Mailchimp
3-node Tailscale mesh beats RAM limits
Nextcloud replacing Google Drive and LucidLink
Did this resonate?