Docker Compose for Directus + PostgreSQL
Directus headless CMS with PostgreSQL. Open Data Platform for managing content.
directus cms postgres headless api
compose.yaml
services:
directus:
image: directus/directus:latest
ports:
- target: 8055
mode: ingress
environment:
- DB_CLIENT=pg
- DB_HOST=db
- DB_PORT=5432
- DB_DATABASE=directus
- DB_USER=postgres
- DB_PASSWORD=${DB_PASSWORD}
- KEY=${KEY}
- SECRET=${SECRET}
- ADMIN_EMAIL=admin@example.com
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
healthcheck:
test:
- CMD
- curl
- -f
- http://localhost:8055/server/health
interval: 30s
timeout: 5s
retries: 3
depends_on:
- db
deploy:
resources:
reservations:
cpus: "0.5"
memory: 256M
restart: unless-stopped
db:
image: postgres:16
ports:
- target: 5432
mode: host
environment:
- POSTGRES_DB=directus
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
reservations:
cpus: "0.5"
memory: 256M
restart: unless-stopped
x-defang-postgres: true
Services
- directus directus/directus:latest
- db postgres:16