Getting started checklist

Ordered runbook from purchase to production—DNS, install, first admin, SMTP, SSO, backups, and day-2 operations.

This article applies to: Pro Self-Hosted

Getting started checklist

Follow these steps in order after you purchase Self-Hosted Pro. Each step links to deeper docs where needed.


Before you run the installer

  1. Confirm system requirements — Docker 24+, Compose 2.20+, CPU/RAM/disk for your plan (Starter/Advanced vs Enterprise).
  2. Read How it works — Billing → domain assignment → email with your personalized install.sh command.
  3. Deploying on Kubernetes? — Use the official Helm chart instead of Docker Compose. The Helm chart supports all editions with Ingress, TLS, autoscaling, and GitOps.
  4. Air-gapped or no outbound internet? — Use Air-gapped / offline instead of running curl | sh on the target host; transfer images and compose files by your approved channel.
  5. Deploying on Azure? — Review Deploy on Microsoft Azure to choose between Azure VM (recommended) and managed Azure services.
  6. TLS at your own reverse proxy? — Default install terminates TLS in the container. To terminate TLS at Nginx, Traefik, Caddy, or a load balancer instead, see Behind a reverse proxy (unset TLS_DOMAIN, proxy to port 80). Port map: Container Ports.

Install and first login

(Online install path—if disconnected, follow Air-gapped / offline first, then pick up at boot code / first admin below.)

  1. Assign your domain — In Billing, set the hostname where the app will run (one domain per license).
  2. DNS — Point that hostname to your server’s IP before or as you run install (TLS is set up automatically unless you use an external reverse proxy).
  3. Run your install command — From the email only (never reuse a copied command). It pulls docker-compose.yml and .env with fresh keys and starts the stack.
  4. Start if needed — From the install directory: docker compose up -d — see Operations for stop/restart.
  5. Get the boot code — First admin signup needs a boot code: docker compose logs pwpush-pro
  6. Create the first admin — Open https://your-hostname, complete first-user setup with the boot code.

Make it usable for your team

  1. Configure SMTP — Admin → Settings → Email so registration, password reset, and notifications work. See Configuration — Email & SMTP.
  2. Add SSO (optional) — Admin → Settings → Auth when you’re ready for IdP login. If locked out: disable Require SSO.

Protect your deployment

  1. Back up the database — SQLite (Starter/Advanced) or PostgreSQL (Enterprise): Backups.
  2. Back up the storage volume — Named volume pwpush-pro-data holds local file uploads (and SQLite on non-Enterprise). Host backups often miss Docker volumes. Storage volume.
  3. Back up .env — Same priority as the database; without install-time secrets you cannot decrypt data on restore. Encryption keys & .env.
  4. Test a restore once — Restore checklist.

Day-2 operations

  1. Updates — docker compose pull then docker compose up -d. Update the application.
  2. Health — GET /up (Compose already probes it). Healthcheck.
  3. Logs / console — docker compose logs pwpush-pro, shell, application console — Operations.
  4. License — Online renewals fetch automatically; air-gapped hosts paste a token in Administration Center → Licensing. License renewal.

If you’re migrating from OSS

Use Migrate from OSS to Pro instead of this greenfield order (export OSS → install Pro → import).


Topic Doc
Kubernetes / Helm deployment Deploy on Kubernetes
Disconnected install Air-gapped / offline
Plans & features Overview
Install email & provisioning How it works
Admin settings Configuration
Run / upgrade / logs / /up / license Operations
External TLS / reverse proxy Behind a reverse proxy
Container ports & HTTP_PORT Container Ports
Boot / port bind errors Troubleshooting
Database, storage volume & .env backups Backups