Skip to main content
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.
Dokku is a self-hosted PaaS built on Docker. This guide walks through deploying ParadeDB on a Dokku host using the official paradedb/paradedb Docker image, with a persistent storage mount for the database and a TCP proxy on port 5432.

Prerequisites

  1. A Dokku host with the dokku CLI installed (this guide assumes Dokku 0.34 or newer)
  2. SSH access to the host as a user that can invoke dokku (typically root via sudo, or a user in the dokku group)
Run all dokku ... commands from the host, either directly on the host over SSH or via ssh dokku@<HOST> <command> from your local machine.

Create the App

Attach Persistent Storage

ParadeDB stores its data under /var/lib/postgresql. Create a host directory and mount it into the app so the database survives container rebuilds:

Set the Postgres Password

Set the database password as a Dokku config var so it never lives in a Docker image or a git history:

Expose Port 5432

Postgres speaks TCP on port 5432. Tell Dokku to forward that port through its proxy layer:

Deploy from Docker Hub

Point Dokku at the official ParadeDB image and rebuild the app:
See the Docker Hub page for available tags. Pin a tag (for example paradedb/paradedb:0.25.0-pg18) instead of latest for reproducible deploys.

Connect to ParadeDB

From any machine that can reach your Dokku host on port 5432:
Replace <DOKKU_HOST> with your Dokku host’s IP or hostname.
By default the port is exposed on every interface. If the host is on the public internet, restrict inbound traffic to trusted IPs with your firewall (e.g. ufw allow from <YOUR_IP> to any port 5432 proto tcp) and make sure POSTGRES_PASSWORD is strong.