Skip to content

Docker

Terminal window
docker run -d --name particledb \
-p 5432:5432 \
-p 8080:8080 \
-p 9090:9090 \
-p 6379:6379 \
-v particledb-data:/data \
particledb/particledb

For production or development, use Docker Compose with all protocols exposed:

version: '3.8'
services:
particledb:
image: particledb/particledb:latest
ports:
- "5432:5432" # PostgreSQL wire protocol
- "8080:8080" # HTTP dashboard + health checks
- "9090:9090" # Prometheus metrics
- "6379:6379" # Redis-compatible RESP
- "26257:26257" # gRPC (inter-node / admin)
volumes:
- particledb-data:/data
environment:
- PDB_AUTH_METHOD=trust # or password, md5
- PDB_WAL_SYNC_MODE=groupsync # sync, groupsync, nosync
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health/ready"]
interval: 10s
timeout: 5s
retries: 3
volumes:
particledb-data:

Save as docker-compose.yml and run:

Terminal window
docker compose up -d
Terminal window
# Check health
curl http://localhost:8080/health/ready
# Connect with psql
psql -h localhost -p 5432
# View metrics
curl http://localhost:9090/metrics
PortProtocolPurpose
5432PostgreSQL wirePrimary SQL access. Connect with any PG client.
8080HTTPDashboard, REST API, health probes (/health/live, /health/ready)
9090HTTPPrometheus metrics endpoint
6379Redis RESPKey-value cache operations
26257gRPCInter-node communication, admin API