Skip to content

PostgreSQL (CloudNativePG) PostgreSQL (CloudNativePG) PostgreSQL (CloudNativePG)

Description / nameInput element
Container Registry
Container Configuration Root Path
PostgreSQL (CloudNativePG) Host Port
PostgreSQL (CloudNativePG) /var/lib/postgresql/data Path

Build Status Last Commit sysvipc Required

PostgreSQL on FreeBSD, compatible with the CloudNativePG Kubernetes operator. Includes pgvector, pgaudit, and pg_failover_slots.

Requires ocijail with annotation support (≥ 0.6.0)

This image needs the jail permission allow.sysvipc, applied via OCI annotations. FreeBSD quarterly ships ocijail 0.4.0, which has no annotation support — the container starts but the permission is silently dropped, so the app can crash or misbehave. Point your pkg repos at the latest branch (ocijail ≥ 0.6.0) and run with the annotation flag shown below. See the ocijail guide.

Port 5432
Registry ghcr.io/daemonless/cnpg-postgres
Daemonless daemonless/cnpg-postgres
Source www.postgresql.org/
Website cloudnative-pg.io

Version Tags

Tag Description Best For
17 / 17-standard FreeBSD Quarterly. Uses stable, tested packages. Production stability.
18 / 18-standard / latest / standard FreeBSD Quarterly. Uses stable, tested packages. Most users. Matches Linux Docker behavior.

Root Privileges Required

Podman on FreeBSD currently requires root. All commands must be run as root (or via doas/sudo).

Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.

Deployment

services:
  cnpg-postgres:
    image: "ghcr.io/daemonless/cnpg-postgres:latest"
    container_name: cnpg-postgres
    volumes:
      - "/path/to/containers/cnpg-postgres/var/lib/postgresql/data:/var/lib/postgresql/data"
    ports:
      - "5432:5432"
    annotations:
      org.freebsd.jail.allow.sysvipc: "true"
    restart: unless-stopped
1
2
3
4
5
podman run -d --name cnpg-postgres \
  -p 5432:5432 \
  --annotation 'org.freebsd.jail.allow.sysvipc=true' \
  -v /path/to/containers/cnpg-postgres/var/lib/postgresql/data:/var/lib/postgresql/data \
  ghcr.io/daemonless/cnpg-postgres:latest
- name: Deploy cnpg-postgres
  containers.podman.podman_container:
    name: cnpg-postgres
    image: "ghcr.io/daemonless/cnpg-postgres:latest"
    state: started
    restart_policy: always
    ports:
      - "5432:5432"
    volumes:
      - "/path/to/containers/cnpg-postgres/var/lib/postgresql/data:/var/lib/postgresql/data"
    annotation:
      org.freebsd.jail.allow.sysvipc: "true"

Interactive Configuration

Parameters

Volumes

Path Description
/var/lib/postgresql/data Database data directory

Ports

Port Protocol Description
5432 TCP PostgreSQL port

Implementation Details

  • Architectures: amd64
  • User: bsd (UID/GID set via PUID/PGID). Defaults to 1000:1000.
  • Base: Built on ghcr.io/daemonless/base (FreeBSD 15.1).
  • sysvipc: Requires --annotation 'org.freebsd.jail.allow.sysvipc=true' (ocijail 0.5.0+)

Need help? Join our Discord community.