Building a modern app means stitching together auth providers, databases, file storage, and messaging services. That's 4+ vendors, 4+ dashboards, and 4+ billing pages before you write a single line of product code.
Nuvix replaces all of that. One backend. One API. One permission model. Fully self-hostable.
Whether you're building an AI-powered SaaS, a mobile app, or an internal tool, Nuvix gives you the secure infrastructure to ship fast and scale without limits.
Multi-tenant auth with user accounts, sessions, teams, and role-based access. Security is not an afterthought; it's built into every layer. Managed schemas auto-generate Row-Level Security policies so your data is locked down from day one.
PostgreSQL-powered. Pick the right model for each use case:
| Schema | Best For | What You Get |
|---|---|---|
| Document | Rapid prototyping, MVPs | NoSQL-style flexibility, zero SQL needed |
| Managed | Production apps at scale | Auto-generated CRUD policies, RLS, permission tables |
| Unmanaged | Full control, custom logic | Raw SQL, your tables, your views, no restrictions |
Mix and match across a single project. All schemas share one unified API.
Build AI applications with confidence. Nuvix provides the secure data layer, auth, and storage that AI-powered products need. Store embeddings, manage user sessions, handle file uploads for ML pipelines, and enforce granular permissions on every request.
Permission-aware file system with S3-compatible drivers or local storage. Upload, serve, and manage files with the same permission rules as your database.
Email, SMS, and push notifications through a single API. Built-in templates and provider integrations so you're not wiring up Sendgrid, Twilio, and Firebase separately.
Get running in under 2 minutes:
git clone https://github.com/nuvix-dev/docker.git nuvix
cd nuvix
cp .env.example .env # Configure your secrets
docker compose up -dOpen http://localhost:3000 and create your first project.
That's it. No complex setup. No 47-step guide.
bun install # Install dependencies
bun run dev # Start dev server
bun run test # Run tests
bun run lint # Lint with BiomeRequirements: Docker + Bun ≥ 1.3.7
For detailed self-hosting instructions, see the Self-Hosting Guide.
nuvix/
├── apps/
│ ├── server # Core API server
│ └── platform # Platform services
├── libs/
│ ├── core # Shared core logic
│ ├── pg-meta # PostgreSQL metadata layer
│ └── utils # Common utilities
├── configs/ # Default configurations
├── docs/ # Documentation source
└── scripts/ # Build & deployment scripts
Nuvix is designed with a zero-trust permission model:
- Every request passes through permission checks across database, storage, and messaging
- Managed schemas auto-generate Row-Level Security policies, so you don't need to write them by hand
- Project isolation keeps tenant data separated at the database level
- Self-hosted means your data never leaves your infrastructure
You don't "enable" security in Nuvix. It's the default.
| 📖 Documentation | Guides, API reference, and tutorials |
| 🖥️ Console | Admin dashboard (separate repo) |
| 💬 Discord | Community, help, and discussion |
| 📢 X / Twitter | Updates and announcements |
| 🐛 Issues | Bug reports and feature requests |
We welcome contributions of all kinds: code, docs, bug reports, and ideas.
- Read the Contributing Guide
- Browse open issues
- Join the Discord
By submitting a pull request, you agree that Nuvix may use, modify, copy, and redistribute the contribution under terms of its choosing.