19 lines
1.3 KiB
Markdown
19 lines
1.3 KiB
Markdown
---
|
|
name: Directus Docker image facts
|
|
description: Key facts about directus/directus:11.17.4 needed when extending or wrapping the image
|
|
type: reference
|
|
---
|
|
|
|
# Directus Docker image facts
|
|
|
|
- **Pinned tag**: `directus/directus:11.17.4` — confirmed to exist on Docker Hub (pushed 2026-04-30).
|
|
- **Base image**: `node:22-alpine` (Alpine Linux). Use `apk add` for additional packages.
|
|
- **Non-root user**: The upstream image runs as user `node`. Our Dockerfile switches to `USER root` for apk/chmod, then drops back with `USER node`.
|
|
- **Working directory**: `/directus`
|
|
- **Upstream CMD** (not ENTRYPOINT): `node cli.js bootstrap && pm2-runtime start ecosystem.config.cjs`
|
|
- `node cli.js bootstrap` — idempotent DB init + admin user creation from ADMIN_EMAIL/ADMIN_PASSWORD. Safe to run every container start.
|
|
- `pm2-runtime start ecosystem.config.cjs` — starts Directus under PM2; handles crash recovery and signal forwarding.
|
|
- **Port**: 8055
|
|
- **psql client package** on Alpine: `postgresql16-client` (version-specific; no generic `postgresql-client` on Alpine 3.20).
|
|
- **Entrypoint override**: Our `entrypoint.sh` must call `node /directus/cli.js bootstrap` then `exec pm2-runtime start /directus/ecosystem.config.cjs` to replicate upstream behavior. Do NOT just call `node /directus/cli.js start` — that skips pm2.
|