The 2026 Self-Hosted AI Development Stack: Rails 8, Omarchy, and Ollama
Rails 8, Omarchy, and Ollama let one developer run compute, storage, jobs, and AI without renting a single SaaS subscription. Here's the stack, the math, and the honest limits.
- 01Rails 8 replaces Redis and Sidekiq with database-backed adapters, cutting PaaS dependency.
- 0237signals cut their cloud bill from $3.2M to $1.3M by moving workloads to owned hardware.
- 03The average company spends $4,830 per employee on SaaS, but 53% of licenses go unused.
- 04Self-hosted AI models bypass per-token fees and GDPR risks, but require sustained volume.
- 05Omarchy offers a subscription-free developer OS, but its default security settings need manual fixes.

A self-hosted AI development stack means running your framework, your desktop, and your models on hardware you own, end to end, instead of stitching together a cloud PaaS, a managed Redis instance, an OpenAI API key, and a pile of SaaS tools that bill you every month. It's not a philosophy. It's a working configuration a single developer can assemble this week.
Self-hosting has always been possible. What's new is that three separate projects, released independently, now click together into a full loop: framework, operating system, and model. What used to take a platform team now takes a laptop and a weekend.
What does a self-hosted AI development stack replace?
The typical rented stack looks like this: a cloud PaaS for hosting, a managed Redis instance for caching and queues, a job-processing add-on, an OpenAI or Anthropic API key metered by the token, and a handful of SaaS tools bolted on for auth, monitoring, and notifications. Each piece is a separate bill, a separate vendor relationship, and a separate point of failure.
The owned version collapses that into three layers:
- Framework layer. Rails 8 ships with database-backed adapters that do what Redis, Memcached, and Sidekiq used to do, plus a deploy tool that replaces the PaaS.
- Desktop layer. Omarchy gives the developer a fully configured, subscription-free operating system built for exactly this kind of work.
- Inference layer. Ollama runs open-weight models locally, replacing the metered API call with a model you control.
None of this is exotic. It's mostly deletion. Fewer vendors, fewer bills, fewer things that can go down because someone else's infrastructure had a bad day.
How Rails 8 deletes the dependency tax
Rails 8 shipped with three components collectively called the "Solid" stack: Solid Queue, Solid Cache, and Solid Cable. They're database-backed adapters that do the job Redis, Memcached, and a separate job-queue service like Sidekiq used to do, without requiring any of those services to exist.1
Pair that with Kamal 2 and the Thruster proxy, and you no longer need a platform-as-a-service like Heroku either. Kamal handles zero-downtime deployment to whatever servers you own; Thruster handles the HTTP layer a PaaS used to manage for you.1
This isn't theoretical. Solid Cache has run in production at Basecamp for over a year, storing 10 terabytes of data with a 60-day retention window, and it cut P95 render times in half after it was introduced.1 Solid Queue runs 20 million jobs a day for HEY, 37signals' email product, with no separate job broker in sight.1
The practical effect: a Rails 8 app in 2026 needs fewer moving parts than a Rails 6 app did in 2020, and every one of those removed parts was a recurring bill or a third-party outage risk.
The case study that proves the economics: 37signals' cloud exit
Rails 8's dependency-free design isn't an accident. It's downstream of a real, audited decision 37signals made at company scale, and the numbers are public.
37signals spent $3.2 million a year on cloud infrastructure in 2022. By 2024, after moving most workloads onto owned hardware, that bill was down to roughly $1.3 million, largely the S3 storage they kept.23 The company projects total five-year savings from the exit at well over $10 million.3
The hardware itself, about $600,000 to $700,000 in Dell servers, paid for itself in under a year. DHH described the outlay as "less than a third the cost" of what the company expected to save every year going forward.2
What makes this more than a curiosity for solo developers: 37signals didn't grow its operations team to pull this off. The company was explicit that the savings came "without changing the size of the operations team at all."2 Their whole self-hosted infrastructure runs on open tools anyone can pick up: KVM for virtualization, Docker for containers, and Kamal for deployment, the same Kamal now bundled by default into Rails 8.21 Ownership scaled down doesn't require a bigger team. It requires the right defaults.
Omarchy: owning the developer's own machine
If Rails 8 is the framework-layer argument for ownership, Omarchy is the desktop-layer one. It's DHH's opinionated, pre-configured Arch Linux and Hyprland distribution, released in mid-2025 as a companion to his earlier Ubuntu setup, Omakub.4 The pitch: a fully configured developer environment, no per-seat OS licensing, no subscription tooling, and full control over every layer of the machine you work on.4
That's the appeal. It's also where the ownership story gets honest about trade-offs. Independent testers found Omarchy's firewall was not actually enabled by default despite documentation claiming otherwise, a gap only fixed in version 3.1.0.5 OpenSSH ships with insecure defaults while still allowed through the firewall, and the installer, like a lot of modern developer tooling, pipes curl straight into sh, a pattern security practitioners have flagged for years as risky.5
Owning your desktop doesn't mean it's automatically secure. It means the security posture is now your responsibility instead of a vendor's, and Omarchy is a clear example of what happens when that responsibility gets deferred past a stable release.
Ollama and the end of the per-token meter
The third layer replaces the API call. Ollama runs open-weight models locally, on hardware you already own, which means no per-token billing and no prompts leaving your network.67 For teams navigating GDPR or CCPA, that's not a minor convenience: self-hosting sidesteps the third-country data-transfer question entirely, because there's no external processor to have an agreement with in the first place.6
| Upfront Cost | Cost at High Volume | Data Leaves Network | Ops Burden | |
|---|---|---|---|---|
| Hosted APIlow, bursty usage | Low | High | Yes | Low |
| RecommendedSelf-hosted (Ollama)sustained, high-volume, privacy-sensitive workloads | High | Low | No | High |
The economics here are usage-dependent, not automatic. One cost comparison found that generating 1 million tokens with Llama 3.3 70B cost $0.12 through a hosted API versus roughly $43 on self-hosted Lambda Labs GPUs, a 358x gap in the API's favor at that volume.8 Self-hosting inference wins at sustained, high-volume use. It does not win for casual, bursty workloads, and pretending otherwise is how ownership arguments lose credibility. Read the break-even math worked through in detail before you commit hardware budget to this layer.
What does the SaaS stack this replaces actually cost?
It helps to see the bill this stack is opting out of. The average company now runs about 275 SaaS applications and spends roughly $4,830 per employee per year on SaaS software, a figure that rose 21.9% year over year.9 More striking: 53% of all SaaS licenses go unused in a given 30-day window.9 That's not a rounding error. That's half the spend buying nothing.
An owned stack isn't a moral position against renting software. It's a bet, backed by 37signals' own audited numbers, that the rented stack's convenience premium has gotten larger than the labor it saves.
Shadow AI and why ownership beats prohibition
There's a governance angle here too. 78% of employees admit to using AI tools their employer never approved, and 51% say they've received conflicting guidance on when and how to use AI at work.10 Banning unsanctioned tools doesn't stop this behavior; it just pushes it further out of view.
An owned stack, Rails 8 plus a self-hosted model runtime like Ollama, gives a company something to point employees toward instead of something to police. If the sanctioned option is fast, private, and doesn't require an expense report, it competes with the shadow version on its own terms. That's a more realistic governance strategy than a policy memo nobody reads. For a fuller playbook on standing this up at company scale, see our guide to replacing SaaS APIs with local models.
Where does this stack break down?
Ownership isn't free, and pretending it is would be dishonest. A few real limits:
- Variable early-stage workloads still favor cloud. If your traffic is spiky and unpredictable, elastic cloud compute is genuinely cheaper than idle owned hardware.
- Omarchy's security defaults require attention. The firewall and SSH issues found by testers are fixable, but they're not fixed by default out of the box, and that's a real operational risk, not a footnote.5
- GPU costs for serious local inference add up fast. The 358x cost gap between API and self-hosted inference at low volume is real, and buying GPU capacity you don't need is worse than renting.8
- Cloud exits still require ops labor. 37signals didn't grow its team, but it did retain a competent operations function. A one-person shop taking on hardware ownership needs to be honest about what that entails.2
None of these limits invalidate the stack. They mean it's a decision with real trade-offs, not a costume you put on because it sounds principled.
The 2026 playbook
If you want to build this loop yourself, the order matters:
- Start with Rails 8 on a small VPS or owned box, using the default Solid Queue, Solid Cache, and Solid Cable adapters instead of bolting on Redis.1
- Deploy with Kamal, the same tool 37signals open-sourced and now ships by default in Rails 8, so you get zero-downtime deploys without a PaaS.12
- Set up your desktop deliberately. If you use Omarchy or any similarly opinionated distro, check the firewall and SSH defaults yourself before trusting the install script.45
- Add Ollama for inference, and run the numbers on your actual token volume before assuming local always wins.68
- Audit your SaaS renewals against this stack. If you're paying per-seat for tools this loop already replaces, that's the first budget to cut.9
This is the same instinct that runs through everything we've written about owning object storage as your universal backend instead of a managed database. Rails 8, Omarchy, and Ollama don't require a company-scale ops team to prove the point 37signals proved with theirs. They just need one developer willing to own the stack instead of renting it, and to build sanctioned AI workflows on infrastructure like Remy rather than leaving employees to patch it together on their own.
It's a full application stack, from operating system to framework to AI model, that a developer or company owns and runs on their own hardware instead of renting each layer as a separate cloud service or SaaS subscription. In 2026, Rails 8, Omarchy, and Ollama together let one person cover compute, caching, job processing, and AI inference without an external vendor for any of it.
For most applications, yes. Rails 8 ships with Solid Cache, Solid Queue, and Solid Cable, database-backed adapters that handle caching, background jobs, and real-time features without a separate Redis instance. Solid Cache has run in Basecamp's production environment storing 10 terabytes of data, and Solid Queue processes 20 million jobs a day for HEY.
It depends entirely on volume. One cost analysis found that generating 1 million tokens with Llama 3.3 70B cost $0.12 through a hosted API versus about $43 on self-hosted GPUs, a 358x difference in the API's favor at that scale. Self-hosting only wins economically at high, sustained usage, not casual or bursty workloads.
It's usable but requires attention. Independent testers found Omarchy's firewall wasn't actually enabled by default until version 3.1.0, despite earlier documentation claiming it was, and OpenSSH ships with insecure defaults. It's a strong ownership story with real security gaps that a developer needs to close manually.
Yes, and the numbers are public. Their annual cloud bill dropped from $3.2 million in 2022 to about $1.3 million by 2024, hardware costs paid for themselves in under a year, and the company projects total five-year savings of over $10 million, all without expanding its operations team.
- 1Rails 8.0: No PaaS RequiredRuby on Rails (rubyonrails.org)
- 2We have left the cloudHEY World (DHH)
- 337signals claims it saved almost $2m last year from cloud repatriationData Center Dynamics
- 4Omarchy is outHEY World (DHH)
- 5Omarchy is not a secure distribution and should be taken off the Linux installation optionsFramework Community forum
- 6OpenClaw Self-Hosting Guide: GDPR-Compliant in 30 MinutesTill Freitag
- 7Local LLM Deployment: Privacy-First AI Complete GuideDigital Applied
- 8Self-Hosted LLMs vs OpenAI API: True Cost Analysis for StartupsMedium (Bootcamp)
- 95 SaaS Stats to Drive IT Your StrategyZylo
- 10New WalkMe Survey Shows Shadow AI Is Rampant; Training Gaps Undermine AI ROISAP News (WalkMe survey)


