ɳSelfɳSELFCLI
DocsComparePricingChangelogBlogɳCloud
17★
All posts

Why we built ɳSelf: self-hosted backends should not be hard

February 20, 2026·nSelf Team·2 min read
foundingvision

Every developer deserves a production-grade backend that they fully own. The problem was always setup complexity: Postgres, GraphQL, auth, storage, SSL, nginx, backups. Hours of configuration before writing a single line of app code.

We built ɳSelf to fix that.

The frustration

Self-hosting a production backend used to mean: provision a server, install Docker, write a docker-compose.yml, configure nginx, generate SSL certs, set up Postgres, install Hasura, wire up auth, configure MinIO, set up monitoring, and then figure out backups. That is a week of DevOps before you write any product code.

The alternative was a managed backend like Supabase or Nhost. They are great tools. But your data lives on their infrastructure, and costs compound quickly at scale. A serious project on Supabase costs $25/month before it has its first user. Hit any meaningful traffic and you are looking at $200-500/month, locked into someone else's pricing decisions.

We kept running into this trade-off on our own projects. We wanted the convenience of a managed backend with the ownership of self-hosting. So we built it.

What ɳSelf does

ɳSelf is a CLI tool that generates the entire stack from a single .env file. One command:

nself build

It writes your docker-compose.yml, nginx config, and SSL certs. One more command:

nself start

Everything is running. You get:

  • PostgreSQL 16 for your database
  • Hasura GraphQL Engine for instant API over Postgres
  • Hasura Auth for JWT, magic links, and OAuth
  • MinIO for S3-compatible storage
  • Redis for caching and queues
  • Nginx with automatic SSL termination

No vendor account. No monthly SaaS fee. Your server, your data.

The full setup, start to finish

curl -fsSL https://nself.org/install.sh | bash
nself init my-project
cd my-project
nself build && nself start

Four commands. Your backend is running. Hasura gives you a GraphQL API over your Postgres database. Auth handles sign-up, sign-in, and JWT tokens. Nginx terminates SSL and routes traffic. Monitoring tracks everything.

The entire setup takes about five minutes on a fresh server.

MIT licensed, forever

The core is MIT-licensed and free forever. We make money from 55+ Pro plugins: AI agents, cron jobs, email routing, search, CMS, Stripe integration, and more. You pay for the functionality you need, not for the right to own your data.

This is a deliberate choice. The CLI, the core stack, and all 16 free plugins will always be MIT. We believe the right way to fund open-source infrastructure is by selling optional functionality on top of a solid free core.

What comes next

We are heading to v1.0 LTS. The focus is stability, documentation, and community. If you have tried ɳSelf and hit friction, we want to hear about it.

Check out the full comparison with Supabase to see where each tool fits. Or just install it and try:

brew tap nself-org/nself
brew install nself
nself init
nself start