For Directus
Directus on Edge,
any database, instant API
Wrap any SQL database with a polished admin app and a headless API. Self-host on a real VM, store files in S3-compatible Edge Storage, deliver globally through the Edge CDN.
# .env — Directus + Edge Storage
DB_CLIENT="pg"
DB_HOST="127.0.0.1"
DB_DATABASE="directus"
STORAGE_LOCATIONS="edge"
STORAGE_EDGE_DRIVER="s3"
STORAGE_EDGE_ENDPOINT="https://storage.edge.run"
STORAGE_EDGE_BUCKET="directus-files"
STORAGE_EDGE_KEY="..."
STORAGE_EDGE_SECRET="..."
# Run as a systemd service
$ sudo systemctl enable --now directus
Why Directus teams pick Edge
Real database access, real file storage, real network — without paying SaaS multiples for any of it.
Bring your own SQL database
Postgres, MySQL, MariaDB, SQLite, MS SQL — Directus mirrors the schema and exposes a REST + GraphQL API instantly. Your data stays yours.
S3-compatible file library
Configure the Directus file driver with Edge Storage credentials. Uploads, generated thumbnails and exports all live in a CDN-fronted bucket.
On-the-fly image transforms
Directus has its own asset transformation API; for very high-volume sites you can offload to Edge Image Optimization at the CDN.
Flows + webhooks at scale
Run automation flows on the same VM; long-running ones can fan out to a worker VM via private networking. No serverless time-outs to dance around.
Global CDN for the API
Front the REST/GraphQL endpoints through the Edge CDN. Cache GETs aggressively, mutate at origin, no egress on the way out.
Agent-deployable
The Edge agentic API can stand up a Directus instance, point a domain at it, and configure the file storage bucket — all from a single prompt.
Reference architecture
How Directus maps to Edge
A small VM running Directus + Postgres, files in object storage, and the global CDN out front.
Runs Directus (Node.js) + your existing or new SQL database
S3-compatible file driver for the asset library
Caches public API responses and asset URLs globally
Optional: replace Directus transforms with edge processing
Anycast DNS for the API subdomain
# Front-end → Directus on Edge
import { createDirectus, rest } from '@directus/sdk'
const directus = createDirectus(
'https://cms.example.com'
).with(rest())
# Cached via Edge CDN
const articles = await directus.request(
readItems('articles', { fields: ['*'] })
)
Common questions
Self-hosted vs Directus Cloud?
Directus Cloud is the official managed service. Self-hosting on Edge gives you root, custom extensions, and full control over your database — at the cost of running a VM yourself.
Can I point Directus at an existing database?
Yes — that's arguably the killer feature. Directus introspects your existing schema and gives you an admin UI and API on top, without forcing migrations.
How do I run flows and webhooks?
On the same VM for low-volume use, or split into a worker VM that handles flows separately. Both connect to the same database via Edge's private networking.
How do I deploy custom extensions?
Mount your extensions folder, ship via git, restart the systemd service. Or build a Docker image and use our Docker stack page for a container-based deploy.
By Stack
Other stacks on Edge
Ship Directus on Edge
30-day trial. Bring an existing database or scaffold a fresh project.