Cloud platform deployments run ParadeDB Community, which do not support high
availability or read replicas. If these matter to you, we recommend ParadeDB
Enterprise deployed via
Kubernetes or BYOC.
paradedb/paradedb Docker image with a persistent volume.
Prerequisites
- A Fly.io account
- The Fly.io CLI (
flyctl) installed and authenticated withfly auth login
Launch the App
From an empty directory, runfly launch and point it at the ParadeDB Docker image. --no-deploy lets you edit the generated fly.toml before the first deploy so you can add the persistent volume and secrets:
fly launch prompts for an app name and a primary region, then writes a fly.toml in the current directory. See the Docker Hub page for available paradedb/paradedb tags — pin one (for example paradedb/paradedb:0.25.0-pg18) instead of latest for reproducible deploys.
Create a Persistent Volume
ParadeDB stores its data under/var/lib/postgresql. Create a Fly.io volume in the same region as the app so data survives restarts and redeploys:
<REGION> with the region you chose during fly launch (see Fly.io regions).
Set the Postgres Password
Set thePOSTGRES_PASSWORD as a Fly.io secret so it is never committed to fly.toml:
Finish fly.toml
Open the generated fly.toml and add the [env] block (Postgres init variables) and a [[mounts]] block that attaches the volume you just created. The [build], [[services]], and [[vm]] sections were written by fly launch:
Deploy
Connect to ParadeDB
Fly.io machines are only reachable via WireGuard or Fly’s proxy by default. Usefly proxy to open a local tunnel:
psql from another terminal:
[[services]] block from fly launch already accepts external traffic on port 5432):
POSTGRES_PASSWORD is strong and consider adding Fly.io’s per-service firewall rules.