Deploy on Render

A web service from the public image with a persistent disk. About five minutes.

Create the service

  1. New → Web Service → Deploy an existing image from a registry.
  2. Image URL: ghcr.io/mddanishyusuf/piqo-selfhost:0. No credentials needed, the image is public.
  3. Pick a region close to your visitors and a plan with disk support (Starter or above; the free tier has no persistent disk).

Add the disk

Under Disks, add one with mount path /app/data. 5 GB is plenty to start; it holds the database and backups.

Environment

AUTH_SECRET=<openssl rand -base64 48>
APP_URL=https://<your-service>.onrender.com
PIQO_LICENSE_KEY=PIQOSH-XXXXX-XXXXX-XXXXX-XXXXX
PORT=3000

Set the health check path to /api/health so Render restarts the container if the database ever stops answering.

Finish in the app

Deploy, open the service URL, create the owner account on /setup, and paste the key on /activate if you didn't set it above.

Custom domain. Add it under Settings → Custom Domains, then update APP_URL to match and redeploy. Do it before activating where possible, since the license registers the hostname.

Updating

Manual Deploy → Deploy latest reference. Render pulls the current :0 image; migrations run on boot.

NextFly.io