ɳSelfɳSELFDOCS
  • Getting Started

    • Introduction
    • Quick Start
    • Installation
    • Your First Project
  • Core Concepts

    • Architecture Overview
    • Project Structure
    • Configuration
    • Environments
  • Services

    • PostgreSQL Database
    • Hasura GraphQL
    • Authentication
    • Real-Time Communication
    • Storage (MinIO)
    • Email Configuration
    • Redis Cache
    • Search Engines
    • Functions
    • MLflow (ML Tracking)
    • Monitoring & Metrics
    • Admin UI
    • Dashboard
  • Database Tools

    • Schema Management
    • Migrations
    • Seeding Data
    • Backup & Restore
    • dbdiagram.io Sync
  • Microservices

    • NestJS Services
    • BullMQ Workers
    • Go Services
    • Python Services
  • CLI Reference

    • All Commands
    • Core Commands
    • Database Commands
    • Service Management
    • Production Commands
  • Deployment

    • Local Development
    • Production Setup
    • SSL/TLS Configuration
    • Domain Configuration
    • Environment Variables
  • Advanced Topics

    • Multi-Tenancy & SaaS
    • Security & Hardening
    • Custom Actions
    • Webhooks
    • Performance Tuning
    • Troubleshooting
  • ɳClaw

    • Backend Manager
    • API Gateway
    • Voice Input
    • Threads & Projects
  • Migration Guides

    • From Supabase
    • From Nhost
    • From Firebase
  • Plugins

    • Plugin catalog (87)
    • Installation
    • Free plugins (25)
    • Pro plugins (62)
  • Reference

    • Stack & Hosting
    • API Reference
    • Guides
    • RFCs
    • Legal
    • Contributing
  • Resources

    • Changelog
    • Licensing
    • FAQ
    • Support

Stack and hosting

Every nSelf project uses the same core stack. Four always-on services plus seven optional ones, all orchestrated by Docker Compose and generated from your .env.

Required services

ServiceRoleImagePortNotes
PostgreSQL 16Primary databasepostgres:16-alpine5432 (internal)Single-source-of-truth data store. pgvector, ltree, JSONB enabled.
Hasura GraphQLAPI layerhasura/graphql-engine:v2.42+8080 (internal)Generates GraphQL over Postgres. Auth via JWT claims. Remote Schemas for per-app APIs.
AuthAuthenticationnhost/hasura-auth:latest4000 (internal)Email/password, OAuth, magic link, TOTP, WebAuthn. Issues JWTs with Hasura claims.
NginxReverse proxy + TLSnginx:alpine80, 443Routes *.local.nself.org or *.yourdomain.com. SSL via Let's Encrypt or self-signed.

Optional services

ServiceRoleNotes
MinIOS3-compatible object storageUsed by the Storage service and by plugins that need blob storage.
Redis 7Cache and queueSessions, rate limits, BullMQ. Required by several pro plugins.
MeiliSearchFull-text searchTypo-tolerant, fast, open-source. Populated by the search plugin.
MailSMTP gatewayDev: Mailpit inbox. Prod: Postmark, SendGrid, SES, Resend, Mailgun, and 11 others.
FunctionsServerless runtimeDeno-based edge functions, one per file in <code>functions/</code>.
MLflowML experiment trackerOptional. Useful for AI-plugin users.
nself-adminLocal GUIlocalhost:3021 only. Never exposed publicly.

Monitoring bundle

Ten services. Enable with MONITORING_ENABLED=true.

  • Prometheus
  • Grafana
  • Loki
  • Promtail
  • Tempo
  • Alertmanager
  • cAdvisor
  • Node Exporter
  • Postgres Exporter
  • Redis Exporter

Hosting tiers

TierStackCostBest for
Local devFull stack via Docker DesktopFreeEvery developer. The only setup that feels instant.
Single VPSAll services on one Linux box$4 to $20 / monthSide projects, staging, small apps (< 100 req/s).
Managed VPSHetzner CX23 or CAX31 with automated backups$12 to $30 / monthProduction for most teams. What nself.org itself runs on.
HA clusterPostgres primary + standby, Redis cluster, Hasura behind load balancer$100 to $300 / monthMission-critical production with strict uptime SLO.
nCloud (coming)Managed nSelf hosting by the nSelf teamTBDTeams that want zero ops overhead.

Related

  • Plugins. 87 plugins extending the stack.
  • Production deployment
  • Configuration reference