What Is Directus?
Directus is an open-source headless CMS that wraps any SQL database with a real-time REST and GraphQL API. It provides a no-code data studio for managing content, a role-based access control system, and a flexible dashboard builder. Unlike traditional CMSes, Directus works with your existing database schema.
Prerequisites
- A Breeze with at least 2 GB RAM running Ubuntu 22.04+
- Docker and Docker Compose installed
- A domain name pointed to your Breeze
Docker Compose Setup
mkdir -p ~/directus && cd ~/directusversion: "3.8"
services:
directus:
image: directus/directus:latest
container_name: directus
restart: unless-stopped
ports:
- "8055:8055"
volumes:
- directus_uploads:/directus/uploads
- directus_extensions:/directus/extensions
environment:
- KEY=unique-random-key-here
- SECRET=unique-random-secret-here
- DB_CLIENT=pg
- DB_HOST=directus-db
- DB_PORT=5432
- DB_DATABASE=directus
- DB_USER=directus
- DB_PASSWORD=DirectusDbPass
- ADMIN_EMAIL=admin@yourdomain.com
- ADMIN_PASSWORD=ChangeThisPassword
depends_on:
- directus-db
directus-db:
image: postgres:16-alpine
container_name: directus-db
restart: unless-stopped
volumes:
- directus_db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=directus
- POSTGRES_USER=directus
- POSTGRES_PASSWORD=DirectusDbPass
volumes:
directus_uploads:
directus_extensions:
directus_db:Launch and Access
docker compose up -dOpen http://your-breeze-ip:8055 and log in with your admin credentials. Create collections, define fields, and configure roles and permissions through the intuitive data studio interface.
Key Strengths
- Auto-generated REST and GraphQL APIs for all collections
- Flows for building automation workflows without code
- Granular field-level permissions per role
- Supports PostgreSQL, MySQL, SQLite, and more