Self-Hosting Overview
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.
Docker Installation
Public distribution is temporarily paused. Approved operators use private images ghostdev1/nusaas-backendfrontend-VERSION. Run docker login with an account explicitly granted repository access before installation. Existing images 1.0.12 support linux/amd64; they do not include later cloud changes. Do not use latest or the managed-cloud image.
Environment Configuration
Compose reads .env for backend runtime settings and Compose substitutions. The frontend reads web/.env.frontend when its container starts. Use the templates matching your published release; never copy NuSaaS production credentials or the managed-cloud environment.
Launch & Initialization
Work from the directory containing your configured Compose file, normally /opt/nusaas. The guided installer performs first-time migration and core seeding; do not repeat its seeding blindly.
DNS & HTTPS
Use either direct Caddy HTTPS or Cloudflare Tunnel. Do not run two services competing for host ports 80/443. Backend services remain internal in both arrangements.
Cloudflare: Tunnel, R2 & Pages
Cloudflare is a useful choice for DNS, HTTPS, optional Tunnel ingress and R2 storage. It is optional: NuSaaS also runs with a conventional HTTPS proxy and local storage. Use your own account, domains, buckets and credentials. Review current free-plan limits and usage charges rather than assuming every service is free or unlimited. Registrar offers at-cost registration and renewal for supported domains.
Your Own WhatsApp Gateway
Self-hosted NuSaaS does not sell or provision Hosted WhatsApp. You operate your own gateway, number, instances and credentials; the NuSaaS private console and hosting payment are not required. Existing direct provider integrations, where available, use your own provider accounts—not NuSaaS-managed accounts. SMS/Africa's Talking are not part of this distribution.
Backups, Updates & Recovery
A database dump alone cannot recover uploaded logos, documents or gateway sessions. Preserve matching database and ERP storage backups, encryption/configuration secrets, the selected image versions and the proxy/tunnel configuration. For Evolution, additionally protect its PostgreSQL data and linked-session volume. R2 objects require their own backup/versioning policy; the local storage archive does not contain objects stored only in R2.
Business Integrations
Self-hosting distributes the ERP and the infrastructure it needs. It does not
Troubleshooting
Start in your installation directory with docker compose ps and docker compose logs --since=10m api web worker cron ws db cache search. Include your original optional overlay arguments in all commands. There is no docs or private console container. Review logs privately and redact secrets/customer data before sharing excerpts.