FEATURES OVERVIEW - nself-org/cli GitHub Wiki
Quick reference guide for the three major features introduced in v0.9.0.
Command Structure Note: v0.9.6+ uses consolidated v1.0 commands. Examples below use the new command structure.
Purpose: Monetize your application with subscriptions, usage-based pricing, and payment processing.
- โ Stripe integration (test and production)
- โ Subscription management (monthly, annual, trials)
- โ Usage tracking and metering
- โ Quota enforcement (soft and hard limits)
- โ Invoice generation (PDF, automatic emails)
- โ Tax handling (Stripe Tax, manual rates)
- โ Payment recovery (dunning, retry logic)
- โ Customer portal (self-service)
- โ Webhooks (event notifications)
- โ Analytics (MRR, churn, LTV)
billing-config-example.env (640 lines, comprehensive)
BILLING_ENABLED=true
BILLING_STRIPE_ENABLED=true
STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_SECRET_KEY=sk_test_PLACEHOLDER...
BILLING_DEFAULT_PLAN=free
BILLING_TRIAL_PERIOD_DAYS=14- Freemium SaaS with paid tiers
- Usage-based pricing (API calls, storage, etc.)
- Subscription box services
- Metered billing platforms
- Enterprise seat-based pricing
Purpose: Rebrand the entire platform with your company identity or enable multi-brand deployments.
- โ Brand identity (name, logo, colors, fonts)
- โ Custom domains (per service)
- โ Email template customization
- โ Custom themes and CSS
- โ SEO and meta tags
- โ Documentation rebranding
- โ Multi-brand mode (resellers)
- โ Source code rebranding (enterprise)
- โ Custom CLI name (enterprise)
- โ Remove nself branding
whitelabel-config-example.env (700 lines, comprehensive)
| Tier | Features | Best For |
|---|---|---|
| Basic | Logo, colors | Simple branding |
| Professional | + Custom domains, email templates | Agencies, white-label |
| Enterprise | + Full rebrand, source code access | Resellers, private label |
WHITELABEL_ENABLED=true
WHITELABEL_TIER=professional
WHITELABEL_BRAND_NAME=Acme Platform
WHITELABEL_LOGO_URL=https://cdn.acme.com/logo.svg
WHITELABEL_PRIMARY_COLOR=#007bff
WHITELABEL_DOMAIN=app.acme.com
WHITELABEL_SHOW_NSELF_BRANDING=false- Agency white-label products
- Partner/reseller programs
- Enterprise private deployments
- Multi-brand platforms
- Custom OEM solutions
Purpose: Serve multiple organizations/customers from a single deployment with data isolation.
- โ Tenant isolation (schema, database, or row-level)
- โ Organization management
- โ Team collaboration (roles, permissions)
- โ Resource quotas per tenant
- โ Custom domains per tenant
- โ Tenant-specific branding
- โ Hierarchical tenancy (sub-orgs)
- โ Usage tracking per tenant
- โ Billing per tenant
- โ Data export and portability
multi-tenant-example.env (717 lines, comprehensive)
| Architecture | Isolation | Scalability | Complexity | Best For |
|---|---|---|---|---|
| Schema | Good | High | Medium | Most SaaS (10-10k tenants) |
| Database | Maximum | Medium | High | Enterprise, compliance (10-1k tenants) |
| Row-level | Moderate | Unlimited | Low | Simple apps, many tenants |
| Hybrid | Flexible | High | High | Complex hierarchies |
MULTI_TENANT_ENABLED=true
MULTI_TENANT_ARCHITECTURE=schema
MULTI_TENANT_IDENTIFIER_SOURCE=subdomain
MULTI_TENANT_ORGANIZATIONS_ENABLED=true
MULTI_TENANT_TEAMS_ENABLED=true
MULTI_TENANT_QUOTAS_ENABLED=true
MULTI_TENANT_DEFAULT_STORAGE_QUOTA=1073741824 # 1GB- B2B SaaS platforms
- Enterprise team collaboration tools
- Multi-organization project management
- Agency client management
- Marketplace platforms
# Multi-tenant + Billing
MULTI_TENANT_ENABLED=true
BILLING_ENABLED=true
BILLING_BILLING_ENTITY=organization
MULTI_TENANT_BILLING_ENABLED=trueResult: Each organization has its own subscription and quotas.
# Multi-tenant + White-label
MULTI_TENANT_ENABLED=true
WHITELABEL_ENABLED=true
WHITELABEL_TIER=enterprise
WHITELABEL_MULTI_BRAND_MODE=true
MULTI_TENANT_BRANDING_ENABLED=trueResult: Each tenant can have their own branding and custom domain.
# All three features
MULTI_TENANT_ENABLED=true
BILLING_ENABLED=true
WHITELABEL_ENABLED=true
MULTI_TENANT_CUSTOM_DOMAINS_ENABLED=true
BILLING_BILLING_ENTITY=organization
WHITELABEL_TIER=professionalResult: Full-featured enterprise platform with billing, branding, and multi-tenancy.
| Feature | Billing | White-Label | Multi-Tenant |
|---|---|---|---|
| Purpose | Monetization | Branding | Data Isolation |
| Primary Users | All SaaS | Agencies, Resellers | B2B SaaS |
| Complexity | Medium | Low-Medium | High |
| Setup Time | ~30 min | ~15 min | ~1 hour |
| External Deps | Stripe | CDN (optional) | None |
| Production Ready | โ Yes | โ Yes | โ Yes |
File: quick-start-saas.env (397 lines)
- Multi-tenant: Basic
- Billing: Test mode
- White-label: Basic branding
- Time to launch: ~5 minutes
File: enterprise-example.env (676 lines)
- Multi-tenant: Full features
- Billing: Production Stripe
- White-label: Professional
- Monitoring: Full stack
- Security: Hardened
- Time to launch: ~2 hours (including setup)
Path A: Learning / MVP
โ Start with quick-start-saas.env
Path B: Production SaaS
โ Start with enterprise-example.env
Path C: Specific Feature โ Reference individual feature files:
billing-config-example.envwhitelabel-config-example.envmulti-tenant-example.env
# Copy example to .env
cp src/examples/quick-start-saas.env .env
# Edit configuration
nano .env
# Replace placeholders:
# - Stripe API keys
# - Database passwords
# - Brand name and colors# Generate configuration
nself build
# Start services
nself start
# Check status
nself status
# View URLs
nself urls# Access your application
open http://app.local.nself.org
# Create first user (becomes admin)
# Create first organization (becomes first tenant)
# Test billing (test mode)- Documentation: https://docs.nself.org
-
Examples Directory:
/src/examples/ -
Configuration Reference:
src/examples/README.md - Community: https://discord.gg/nself
- Support: [email protected]
- nself Version: v0.9.0
- Release Date: February 2026 (planned)
- Status: In Development
- Documentation Updated: January 30, 2025
After getting familiar with these features:
- Customize your configuration based on your specific needs
- Test in development with test Stripe keys
- Deploy to staging for team testing
- Configure production with production Stripe keys
- Launch and iterate based on user feedback
Need help? Check src/examples/README.md for detailed guides and troubleshooting.