Get Started
Prerequisites
What you need before running Ionize
For local development (ionctl)
You need:
- Node.js 20+ with
npm, for theionctlCLI and the app repos. - Bun, runtime for Dashboard, Auth, and Site. Install via bun.sh.
- Git.
ionctl deploy will detect and install (via Homebrew on macOS) anything else it needs:
- Podman +
podman-compose, the container runtime. - kubectl, needed by some seed scripts even though Ionize does not run on Kubernetes.
On Linux, install Podman through your package manager before running ionctl deploy. The CLI will tell you if anything is missing.
For production deployment (Deploy)
You need:
- A VPS provider account: DigitalOcean, Hostinger, or anywhere with SSH access.
- A domain name you control, with DNS edit access. Ionize needs three subdomains (e.g.
ciam,iam,id). - A PostgreSQL instance, either managed (Neon recommended) or self-hosted on the VPS.
- An email provider account: Resend, Postmark, Brevo, SMTP2GO, AWS SES, or any other SMTP relay.
- A GitHub account with permission to push to your fork of the platform repo (Deploy deploys via GitHub Actions).
- Deploy itself, installed from github.com/bnannier/deploy/releases (macOS only at present).
For inspecting your containers
You only need the running deployment plus podman or docker to exec into the containers. See Develop, Inspecting Your Containers.
What you do not need
- Kubernetes. Ionize runs on Compose. There is no Helm chart.
- A reverse proxy. Caddy is included.
- A separate database server in development. The dev compose stack ships a Postgres container.
- Cloudflare or another CDN. Ionize can run behind one but does not require one.