Skip to main content

Run NuSaaS on your own infrastructure

NuSaaS is distributed as pre-built, proprietary container images. You do not need access to our private repository, PHP, Composer or Node.js on the host. The existing license and applicable deployment agreement apply; this is not an open-source source-code release. Laravel images contain readable ERP PHP files—containers do not conceal PHP source.

The self-hosted package includes the ERP API and web application. It excludes the private NuSaaS staff console, NuSaaS subscription checkout and trials, and the paid Hosted WhatsApp service. Your customer invoices, POS payments and accounting remain available. External integrations require your own accounts and configuration; credentials alone do not establish readiness or regulatory approval.

Release availability

Public distribution is temporarily paused. Existing backend/frontend images 1.0.12 for linux/amd64 require explicitly authorized Docker Hub access. Use matching installer assets and run docker login before pulling. These images do not include later cloud changes.

What runs on your server​

The standard stack runs Laravel/FrankenPHP, the compiled React frontend, queue workers, scheduler, Reverb WebSockets, MySQL, Redis, Meilisearch and a Caddy HTTPS proxy. Documentation stays at docs.nusaas.com; no documentation or console container is needed.

Use one business workspace per installation. Create the business owner using registration and onboarding, then invite staff using ERP roles. The NuSaaS private console and its staff enrollment are not part of setup.

Requirements​

  • Docker Engine and Compose v2 on an Ubuntu/Debian server, or Docker Desktop with Ubuntu/WSL2 for local evaluation.
  • curl, openssl and DNS tools.
  • As an initial sizing estimate: 2 vCPUs, 4 GB RAM and 40 GB SSD. Production load, backup space, search indexes and the optional Evolution stack can require more; measure before choosing capacity.
  • Your own domain and app/API hostnames. A separate WebSocket hostname is optional; the installer routes WebSockets through the API hostname.
  • Working SMTP for verification, password resets and staff invitations.
  • Persistent volumes and encrypted off-server backups, with an isolated restore procedure.

With direct Caddy ingress, DNS must point to the server and inbound TCP 80 and TCP/UDP 443 must be available. With the optional Cloudflare Tunnel ingress, use the separate Cloudflare guide; the direct installer currently assumes Caddy and checks its ports/DNS.

Keep database, Redis, search and internal application ports private. Restrict SSH to trusted operators. Do not share NuSaaS production credentials, infrastructure or tunnel tokens.

For WhatsApp, optionally host your own Evolution gateway, PostgreSQL and Redis with separate persistent volumes. See WhatsApp setup.