Run it on infrastructure you control.
Use your own server, domain, DNS, SMTP provider, and backup destination instead of relying only on the hosted Zam app.
Self-Host
Run Zam on your own Ubuntu Server LTS or Debian server with a guided installer. Hosted Zam stays simple. Self-hosting gives advanced users more control.
Hosted Zam remains the easiest way to use Zam. Self-hosting is optional for users who want to run the stack on their own server, own the operational setup, and manage their own backups.
Use your own server, domain, DNS, SMTP provider, and backup destination instead of relying only on the hosted Zam app.
The guided installer writes the deployment files on your server so advanced users can inspect what runs.
Self-host is a free, user-controlled deployment path. Hosted Zam Budget Premium remains separate and unchanged.
Source-first install
Zam Self-Host is planned as a dedicated open-source package. Review the installer, Docker Compose files, Ansible playbooks, schema migrations, backup scripts, and docs before running anything on your server.
If the source repository is not public yet, treat the installer as not ready. The self-host package should be inspectable before it is used.
Installer command
curl -fsSL https://zambudget.com/self-host/install.sh -o install-zam-selfhost.sh && chmod +x install-zam-selfhost.sh && sudo ./install-zam-selfhost.sh
Review the installer before running it on your server. Zam Self-Host currently targets Ubuntu Server LTS and Debian server environments.
Powered by Ansible under the hood, but designed as a guided installer for normal users.
Zam Self-Host is designed for Ubuntu Server LTS and Debian server environments. Our beginner setup guide uses Ubuntu Server 24.04 LTS.
Primary screenshots, documentation, and guided setup target for the first self-host release.
Zam Self-Host should expose only what is needed for the chosen setup. Do not expose Postgres, internal Supabase services, Portainer, or backend admin tools directly to the public internet.
Keep the app behind Cloudflare Tunnel and expose only SSH on the server.
22/tcp SSH
Use Caddy for HTTPS and expose only normal web ports plus SSH.
22/tcp SSH
80/tcp HTTP validation/redirect
443/tcp HTTPS
Zam does not require a specific VPS provider. The guided setup is designed for standard Ubuntu Server LTS and Debian VPS environments. Examples of commonly used providers include DigitalOcean, Linode / Akamai Cloud, OVHcloud, and Contabo.
Provider names are examples only. Zam is not affiliated with or endorsed by these providers unless explicitly stated.
Self-host V1 uses magic-link email login through SMTP. Google and Apple login are not required.
Ubuntu Desktop may work for local labs, but support docs assume server environments.
Provider names are examples. The installer should not imply partnership or endorsement.
Ubuntu Desktop may work for local labs, but Zam Self-Host support docs assume Ubuntu Server LTS or Debian server environments.
No. Personal self-host deployments do not require Stripe. Hosted Zam Budget billing remains separate.
No. Self-host V1 should use magic-link email login through SMTP.
No. The installer may use Ansible under the hood, but the user experience should be guided.
Yes. Cloudflare DNS or Cloudflare Tunnel can be recommended, but Zam should not require a specific provider.
No. Hosted Zam remains the easiest path. Self-hosting is optional for users who want more control.
Use hosted Zam if you want the simplest setup. Choose Self-Host when you want to operate the stack yourself and accept the responsibility for server updates, SMTP delivery, backups, and restore testing.