macrostack

Layer 5 · self-hosting reality check

What it actually takes to self-host Directus

The docs say 512 MB (with 0.25 vCPU) for the Directus container. The database is extra. In practice you want 2 GB for the Directus container, the vendor's recommended minimum, plus room for PostgreSQL and Redis. That fits on a 4 GB VPS. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.

Usually reached from Contentful alternatives, where Directus is one of the picks.

Wondering whether you need to at all? Is Contentful free? — what the free tier actually allows, and where the wall is.

RAM — documented minimum512 MB (with 0.25 vCPU) for the Directus container. The database is extra
RAM — what it really needs2 GB for the Directus container, the vendor's recommended minimum, plus room for PostgreSQL and Redis. That fits on a 4 GB VPS
CPUThe vendor's recommended minimum reads '2x 1 vCPU / 2GB' for the Directus container; the database needs its own share
DiskYour database plus the uploads volume, which grows with every file and image uploaded. Extensions sit in a separate small volume.
Monthly cost$12–24/mo on a 4 GB VPS running Directus, PostgreSQL and Redis. Past three Studio users you also need a licence key: free under the Open Innovation Grant (under $5M revenue and 50 staff), otherwise from $499/mo
Setup time30 minutes with the docs' compose file; an afternoon with HTTPS, file storage and a licence key
How you install itThe docs' docker compose: directus/directus pinned to a version, PostGIS 17 as the database and Redis 7 as the cache, with uploads and extensions on volumes
Ongoing maintenanceAbout one minor release a month to test before production. Read the breaking changes before a major: v12 changed the licence and the proxy-trust and health-check defaults. Keep the licence key current.
Where it stops scalingOne 4 GB box covers a small team's CMS. To scale out, run several Directus containers behind a load balancer on one shared database. Redis becomes a requirement at that point, per the vendor.

The thing that catches people out

Directus 12 (June 2026) moved from the BSL to its own MSCL licence and started enforcing tiers in software. With no licence key, a self-hosted instance runs on Core: 3 Studio seats, 25 collections, 5 flows and no SSO. An upgraded instance gets a 30-day grace period. After that, an instance over its limits is locked down: the /items endpoints stop answering and GraphQL, WebSockets and MCP are switched off, so any website reading from it breaks. Nothing is deleted. If you are under $5M revenue and 50 staff, get the free Open Innovation Grant key before you upgrade. Otherwise, price the $499/mo Team tier first.

When not to self-host Directus

More than three people need to log in to the Studio and your organisation is over $5M revenue or 50 staff. You would be buying a $499/mo licence. Payload (MIT) or Strapi (MIT outside its enterprise folder) are headless CMSs without a seat cap in the licence.

Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.

Other Layer 5 self-hosting guides

Common questions

How much RAM does Directus actually need?
2 GB for the Directus container, the vendor's recommended minimum, plus room for PostgreSQL and Redis. That fits on a 4 GB VPS in practice. The documented minimum is 512 MB (with 0.25 vCPU) for the Directus container. The database is extra, which is the figure at which the process starts rather than the figure at which it works under real use. The vendor's recommended minimum reads '2x 1 vCPU / 2GB' for the Directus container; the database needs its own share alongside it.
What does self-hosting Directus cost per month?
$12–24/mo on a 4 GB VPS running Directus, PostgreSQL and Redis. Past three Studio users you also need a licence key: free under the Open Innovation Grant (under $5M revenue and 50 staff), otherwise from $499/mo This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for about one minor release a month to test before production. Read the breaking changes before a major: v12 changed the licence and the proxy-trust and health-check defaults. Keep the licence key current.
How long does it take to set up Directus?
30 minutes with the docs' compose file; an afternoon with HTTPS, file storage and a licence key, via The docs' docker compose: directus/directus pinned to a version, PostGIS 17 as the database and Redis 7 as the cache, with uploads and extensions on volumes.
When should I NOT self-host Directus?
More than three people need to log in to the Studio and your organisation is over $5M revenue or 50 staff. You would be buying a $499/mo licence. Payload (MIT) or Strapi (MIT outside its enterprise folder) are headless CMSs without a seat cap in the licence.
What is the most common mistake when self-hosting Directus?
Directus 12 (June 2026) moved from the BSL to its own MSCL licence and started enforcing tiers in software. With no licence key, a self-hosted instance runs on Core: 3 Studio seats, 25 collections, 5 flows and no SSO. An upgraded instance gets a 30-day grace period. After that, an instance over its limits is locked down: the /items endpoints stop answering and GraphQL, WebSockets and MCP are switched off, so any website reading from it breaks. Nothing is deleted. If you are under $5M revenue and 50 staff, get the free Open Innovation Grant key before you upgrade. Otherwise, price the $499/mo Team tier first.
The Macrostack brief

New swaps, worth your inbox.

A short, occasional email when we add a high-intent alternative or ship a new head-to-head. No spam, no selling your address — unsubscribe in one click.