The Open-Source Email Platform
docker pull library/postgres
docker run -d --name plunk -p 55432:55432 --restart always postgres:16-alpine
podman run -d --name plunk -p 55432:55432 --restart always postgres:16-alpine
skopeo inspect docker://docker.io/library/postgres:16-alpine
oras pull postgres:16-alpine
docker compose up -d
services:
db:
image: postgres:16-alpine
ports:
- 55432:5432
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis
command: redis-server --appendonly yes
ports:
- 56379:6379
volumes:
- redis_data:/data
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 5
minio:
# MinIO stopped publishing images; pgsty/minio is the community build the self-host compose uses too
image: pgsty/minio:RELEASE.2026-08-04T00-00-00Z
command: server /data --console-address ":9001"
ports:
- 9000:9000
- 9001:9001
environment:
MINIO_ROOT_USER: plunk
MINIO_ROOT_PASSWORD: plunkminiopass
volumes:
- minio_data:/data
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
interval: 30s
timeout: 20s
retries: 3
volumes:
redis_data:
minio_data:
postgres_data: