
Directus CMS -opas: Tietokantakeskeinen headless CMS kehittäjille
Useimmat headless CMS-järjestelmät vaativat sinua rakentamaan datamallisi niiden omaan järjestelmään. Directus kääntää tämän logiikan päälaelleen: se käärii olemassa olevan SQL-tietokantasi ja tarjoaa välittömät REST- ja GraphQL-APIt koskematta skeemaasi. ~34,5k GitHub-tähdellä ja käyttöönotolla yrityksissä kuten Tripadvisor, Adobe ja Mercedes-Benz, se on yksi kyvykkäimmistä avoimen lähdekoodin vaihtoehdoista vuoden 2026 parhaista headless CMS -vaihtoehdoista.
| Ominaisuus | Yksityiskohta |
|---|---|
| Tyyppi | Avoimen lähdekoodin headless CMS |
| Arkkitehtuuri | Tietokantakeskeinen (käärii olemassa olevat SQL-tietokannat) |
| Tietokannat | PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB, MS-SQL |
| APIt | REST + GraphQL (samanaikaisesti) |
| Itse isännöity | Ilmainen alle 5 M$ liikevaihdolla (MIT-lisenssi) |
| Pilvi | Alkaen 25 $/kk |
| AI-ominaisuudet | MCP-palvelin, AI-avustaja (monitoimittaja) |
| Yhteistyöeditointi | Natiivi ominaisuus versiosta v11.15 lähtien |
| Paras käyttötarkoitus | Tiimit, joilla on olemassa olevia tietokantoja, API-first-projektit |
| Ei ihanteellinen | Visuaalinen sivujen rakentaminen, NoSQL, yksinkertaiset blogit |
| GitHub | ~34,5k tähteä |
| Uusin versio | v11.16 (huhtikuu 2026) |
Mikä on Directus CMS?
Directus on avoimen lähdekoodin headless CMS, joka käärii minkä tahansa olemassa olevan SQL-tietokannan välittömillä REST- ja GraphQL-APIeilla. Toisin kuin Strapi tai Payload, Directus ei luo omaa tietokantaskeemaa, vaan se peilaa sinun skeemaasi. Se tukee seitsemää tietokantaa, mukaan lukien PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB ja MS-SQL, ja se on ilmainen organisaatioille, joiden liikevaihto on alle 5 miljoonaa dollaria Directusin virallisen dokumentaation mukaan.
Ajattele sitä älykkäänä kerroksena, joka istuu tietokantasi päällä. Tuot olemassa olevan PostgreSQL-tietokannan, jossa on 50 taulua, osoitat Directusin siihen, ja minuuteissa sinulla on täysi hallintaliittymä, roolipohjainen käyttöoikeuksien hallinta sekä sekä REST- että GraphQL-päätepisteet. Ei migraatioskriptejä. Ei datan uudelleenrakentamista.
Tämä on sitä, mitä "tietokantakeskeisyys" tarkoittaa käytännössä, ja se on perustavanlaatuisesti erilainen kuin Strapin käyttämä code-first-lähestymistapa (missä määrittelet sisältötyypit, jotka generoivat tietokantataulut) tai Payload CMS:n framework-embedded-lähestymistapa (missä CMS elää Next.js-sovelluksesi sisällä).
Tietokantakeskeinen arkkitehtuuri selitettynä
Kun ensimmäisen kerran yhdistimme Directusin olemassa olevaan PostgreSQL-tietokantaan asiakasprojektissa, yllätyimme siitä, kuinka vähän asetuksia se vaati. Directus analysoi tietokantaskeemasi, tauluista tulee "kokoelmia" (collections), sarakkeista tulee "kenttiä" (fields), ja se rakentaa hallintaliittymänsä olemassa olevan perusteella.
Tämä tarkoittaa, että dataasi ei koskaan lukita proprietaariseen muotoon. Jos päätät lopettaa Directusin käytön huomenna, tietokantasi on edelleen tavallinen SQL-tietokanta. Yritäpä tehdä sama Contentfulin tai Sanityn kanssa, missä sisältösi asuu heidän palvelimillaan heidän muodossaan.
Directus ei myöskään ole vain CMS. Tiimi positionoi sen komposoitavaksi dataplatfomiksi; ihmiset käyttävät sitä BaaS:na (Backend as a Service), sisäisiin hallintapaneeleihin ja räätälöityihin kojelautoihin. CMS-käyttötapaus on suosituin, mutta arkkitehtuuri tukee paljon muutakin.
Directusin keskeiset ominaisuudet
Directus tarjoaa kaksois-REST- ja GraphQL-APIt, hienojakoiset roolipohjaiset oikeudet, sisäänrakennetut Flows-automaatiot, drag-and-drop Data Studion, digitaalisten varojen hallinnan ja natiivin i18n-tuen yli 50 kielelle. Versiosta v11.15 lähtien se sisältää yhteistyöeditoinnin ja AI-avustajan natiiveina ominaisuuksina, ei kolmansien osapuolten laajennuksina.
Tässä ovat tärkeimmät asiat, jos arvioit Directusia projektiisi:
Kaksois-REST- ja GraphQL-APIt
Molemmat APIt ovat saatavilla samanaikaisesti samasta datasta ilman konfigurointia. Et valitse toista toisen sijaan, saat molemmat. Mobiilitiimisi voi käyttää RESTiä, kun taas web-frontendisi käyttää GraphQLiä. REST API seuraa ennustettavaa kaavaa (/items/{collection}) ja GraphQL-päätepiste sijaitsee osoitteessa /graphql.
Flows ja automaatio
Flows on Directusin tapahtumapohjainen automaatiojärjestelmä, joka on rakennettu suoraan Data Studio -käyttöliittymään. Voit käynnistää työnkulkuja CRUD-tapahtumien (kohde luotu, päivitetty, poistettu), aikataulujen (cron-tyylinen) tai webhookien perusteella. Toimintoja ovat esimerkiksi sähköpostien lähettäminen, HTTP-pyyntöjen tekeminen, mukautetun JavaScriptin suorittaminen ja datan muuntaminen.
Tiimeille, jotka rakentavat tekoälyn kanssa, Directuksessa on jopa natiivi Model Context Protocol (MCP) -opas -palvelin, mutta lisää siitä v11-osiossa.
Laajennukset ja mukauttaminen
Laajennusjärjestelmä tukee koukkuja (hooks, palvelinpuolen tapahtumankäsittelijöitä), mukautettuja päätepisteitä, UI-paneleita, kokonaisia moduuleja ja operation-nodeja Flowseille. Laajennukset rakennetaan Vue.js:llä frontendille ja plain Node.js:llä backendille. v11.0-julkaisu uudisti laajennukset tyyppipohjaisista kansioista siistimpään bundle-muotoon.
Tässä on vertailu Directusin ja kilpailijoiden välillä ominaisuuksien osalta:
| Ominaisuus | Directus | Strapi | Payload | Sanity |
|---|---|---|---|---|
| Tietokantatuki | 7 SQL-tietokantaa | PostgreSQL, SQLite | MongoDB, PostgreSQL | Isännöity (proprietaarinen) |
| API-tyyppi | REST + GraphQL | REST (GraphQL-laajennus) | Local API + REST + GraphQL | GROQ + GraphQL |
| Itse isännöity | Kyllä (ilmainen <$5M) | Kyllä (ilmainen) | Kyllä (ilmainen) | Ei |
| Visuaalinen rakentaja | Data Studio (datakeskeinen) | Content-Type Builder | Live Preview | Sanity Studio |
| i18n | Natiivi (yli 50 kieltä) | Laajennuspohjainen | Kenttäkohtainen | Dokumenttikohtainen |
| Automaatio | Flows (sisäänrakennettu) | Lifecycle hooks | Hooks + Jobs | GROQ-powered webhooks |
| Hinnoittelumalli | Liikevaihtoon perustuva (5 M$ raja) | Käyttäjäpaikkaperusteinen | Ilmainen + Pilvi | Käyttöpohjainen |
Mitä uutta Directus v11:ssä (2025–2026)
Directus v11 esitteli natiivin MCP-palvelintuen (v11.13), AI-avustajan, joka tukee OpenAI:tä, Anthropicia ja Geminiä (v11.14), yhteistyöeditoinnin live-läsnäoloindikaattoreilla (v11.15) ja globaalit luonnosversiot roolipohjaisilla käyttöönotto-oikeuksilla (v11.16). Nämä ovat kaikki sisäänrakennettuja ominaisuuksia, ei yhteisön laajennuksia.
Tällä alueella Directus on edennyt nopeimmin, ja tämä on osio, jonka useimmat kilpailijat jättävät täysin huomiotta. Vain yksi kuudesta parhaiten sijoittuvasta oppaasta kattaa mitään tästä.
MCP-palvelin ja AI-avustaja
v11.13-julkaisu teki Directuksesta yhden ensimmäisistä CMS-järjestelmistä, joissa on natiivi MCP-palvelin. Jos käytät Claudea, ChatGPT:tä tai muita MCP-yhteensopivia tekoälytyökaluja, ne voivat hallita Directus-sisältöäsi suoraan: lukea kokoelmia, luoda kohteita, päivittää kenttiä – kaikki samalla kunnioittaen RBAC-oikeuksiasi. Jos MCP on sinulle uusi, Model Context Protocol (MCP) -oppaamme selittää protokollan yksityiskohtaisesti.
AI-avustaja (v11.14) on erillinen MCP:stä; se on sisäänrakennettu chat-käyttöliittymä Data Studiossa, joka tukee OpenAI:tä, Anthropicia, Geminiä ja jopa paikallisia malleja Ollaman kautta. Versioon v11.16 mennessä siitä tuli multimodaalinen: voit ladata kuvia ja PDF-tiedostoja suoraan AI-chattiin käsittelyä varten.
Yhteistyöeditointi ja luonnosversiot
Yhteistyöeditointi julkaistiin versiossa v11.15 live-läsnäoloindikaattoreiden kanssa (näet, kuka muokkaa samaa kohdetta) ja kenttäkohtaisella lukituksella ristiriitojen estämiseksi. Sama julkaisu lisäsi Vercel-käyttöönottomoduulin roolipohjaisilla käyttöoikeuksilla.
v11.16 vei sisällön lavastamisen pidemmälle globaaleilla luonnosversioilla. Jokainen versionhallittu kohde saa automaattisesti luonnoskopion. Toimittajat voivat esikatsella muutoksia live-versiota vastaan ja promovoida luonnoksia, kun ne ovat valmiita. Roolipohjaiset käyttöönotto-oikeudet tarkoittavat, että sisältötiimisi voi lavastaa muutoksia vahingossa tuotantoon työntämättä.
| Versio | Päivämäärä | Keskeiset ominaisuudet |
|---|---|---|
| v11.0 | 2024 | Uusi laajennusjärjestelmä, bundle-muoto |
| v11.13 | Marraskuu 2025 | Natiivi MCP-palvelintuki |
| v11.14 | Joulukuu 2025 | AI-avustaja (monitoimittaja), header-käyttöliittymä |
| v11.15 | Helmikuu 2026 | Yhteistyöeditointi GA, AI-avustaja GA, Vercel-käyttöönotot |
| v11.16 | Huhtikuu 2026 | Globaalit luonnosversiot, multimodaalinen AI, roolipohjainen käyttöönotto |
Directusin käytön aloittaminen (Docker-asennus)
Voit ajaa Directusta paikallisesti Dockerilla alle 2 minuutissa. Luo docker-compose.yml-tiedosto directus/directus-imagella, aseta tietokantayhteys ja admin-tunnukset ympäristömuuttujiksi ja aja docker compose up. Directus käynnistyy osoitteessa localhost:8055.
Docker-asennus vei meiltä alle 2 minuuttia kylmästä käynnistyksestä. Tässä on täydellinen docker-compose.yml, joka sisältää PostgreSQL:n, ei pelkästään Directus-konttia, vaan koko stackin:
# docker-compose.yml
version: "3"
services:
database:
image: postgis/postgis:16-3.4-alpine
environment:
POSTGRES_USER: directus
POSTGRES_PASSWORD: directus
POSTGRES_DB: directus
volumes:
- directus_data:/var/lib/postgresql/data
directus:
image: directus/directus:11.16
ports:
- "8055:8055"
depends_on:
- database
environment:
KEY: "your-random-key-here"
SECRET: "your-random-secret-here"
ADMIN_EMAIL: "[email protected]"
ADMIN_PASSWORD: "change-me-please"
DB_CLIENT: "pg"
DB_HOST: "database"
DB_PORT: "5432"
DB_DATABASE: "directus"
DB_USER: "directus"
DB_PASSWORD: "directus"
volumes:
- directus_uploads:/directus/uploads
volumes:
directus_data:
directus_uploads:Aja se:
docker compose up -dAvaa http://localhost:8055, kirjaudu sisään asettamillasi admin-tunnuksilla, ja olet Data Studiossa. Täältä voit luoda kokoelmia (tauluja), määritellä kenttiä (sarakkeita) ja alkaa hallinnoida sisältöä välittömästi. KEY- ja SECRET-ympäristömuuttujia käytetään JWT-tokenien generointiin; käytä satunnaisia merkkijonoja tuotannossa, älä yllä olevia paikkamerkkejä.
Datan kysely Directus SDK:lla
Directus JavaScript SDK tarjoaa tyyppiturvallisen pääsyn dataasi sekä REST- että GraphQL:n kautta. Asenna @directus/sdk, luo client createDirectus()-funktiolla ja käytä readItems()-funktiota hakemaan kokoelmia sisäänrakennetulla filtröinnillä, lajittelulla ja kenttävalinnalla.
SDK:n komposoitava malli tuntui intuitiiviselta Supabasen client-kirjastojen kanssa työskentelyn jälkeen. Aloitat base-clientilla ja lisäät ominaisuuksia kompositoimalla funktioita:
// lib/directus.ts
import { createDirectus, rest, readItems, createItem } from '@directus/sdk';
const client = createDirectus('http://localhost:8055').with(rest());
// Fetch published articles with specific fields
const articles = await client.request(
readItems('articles', {
fields: ['id', 'title', 'slug', 'content', 'author.name'],
filter: {
status: { _eq: 'published' }
},
sort: ['-date_published'],
limit: 10
})
);Kohteiden luominen noudattaa samaa kaavaa:
// Create a new article
const newArticle = await client.request(
createItem('articles', {
title: 'My New Post',
slug: 'my-new-post',
content: '<p>Hello from Directus.</p>',
status: 'draft'
})
);Autentikointia varten valitset joko staticToken() (palvelin-palvelin-viestintään) tai authentication() (käyttäjälle suunnattuihin sovelluksiin, joissa on kirjautumisvirtoja):
import { createDirectus, rest, staticToken } from '@directus/sdk';
// Server-side with static token
const client = createDirectus('http://localhost:8055')
.with(staticToken('your-api-token'))
.with(rest());REST API -esimerkkejä
Jokaisella SDK-metodilla on vastaava REST-päätepiste. Jos suosit työskentelemistä suoraan curl:n tai fetch:n kanssa:
# Fetch published articles
curl "http://localhost:8055/items/articles?filter[status][_eq]=published&sort=-date_published&limit=10&fields=id,title,slug"
# Create a new item
curl -X POST "http://localhost:8055/items/articles" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "My Post", "status": "draft"}'GraphQL-kyselyt
Sama data on saatavilla GraphQL:n kautta osoitteessa /graphql:
query {
articles(
filter: { status: { _eq: "published" } }
sort: ["-date_published"]
limit: 10
) {
id
title
slug
content
author {
name
}
}
}Sinun ei tarvitse konfiguroida tai ottaa GraphQL:ää erikseen käyttöön, se on aina saatavilla RESTin rinnalla.
Directus ja Next.js (Framework-integraatio)
Directusin yhdistäminen Next.js:ään vie kolme vaihetta: asenna @directus/sdk, luo lib/directus.ts-client ja hae data Server Componentsissa käyttämällä readItems(). Directus palauttaa raakaa JSONia, joten sinulla on täysi kontrolli renderöintiin ilman valmistajakohtaisia komponentteja.
Tämä on siistein osa Directusin kanssa työskentelyä. Ei erityisiä framework-adaptoreita, ei Directus-spesifisiä React-komponentteja, ei build-pluginia. Kyse on vain datan hausta. Jos olet työskennellyt minkä tahansa REST API:n kanssa Next.js:ssä, tiedät jo miten tämä toimii. Kontekstia framework-valinnoista löydät Next.js vs Remix -vertailustamme.
Luo ensin jaettu client (tämä on sama tiedosto SDK-osiossa, mutta konfiguroitu deployattuun instanssiisi):
// lib/directus.ts
import { createDirectus, rest, staticToken, readItems } from '@directus/sdk';
const directus = createDirectus(process.env.DIRECTUS_URL!)
.with(staticToken(process.env.DIRECTUS_TOKEN!))
.with(rest());
export default directus;
export { readItems };Käytä sitä sitten Server Componentissa, ei useEffectia, ei lataustiloja, vain async/await:
// app/blog/page.tsx
import directus, { readItems } from '@/lib/directus';
export default async function BlogPage() {
const posts = await directus.request(
readItems('posts', {
fields: ['id', 'title', 'slug', 'excerpt', 'date_published'],
filter: { status: { _eq: 'published' } },
sort: ['-date_published'],
})
);
return (
<main>
<h1>Blog</h1>
{posts.map((post) => (
<article key={post.id}>
<h2><a href={`/blog/${post.slug}`}>{post.title}</a></h2>
<p>{post.excerpt}</p>
<time>{post.date_published}</time>
</article>
))}
</main>
);
}Siinä kaikki. Ei vendor lock-inia. Sama lähestymistapa toimii Astron, Nuxt:n, SvelteKit:n tai minkä tahansa frameworkin kanssa, joka pystyy tekemään HTTP-pyyntöjä. Directusin virallinen dokumentaatio sisältää framework-spesifiset oppaat Astrolle ja Nuxtille, jos haluat ne, mutta kaava on identtinen: luo client, kutsu readItems(), renderöi.
Directus CMS:n hinnoittelu ja lisenssointi (2026)
Directus on ilmainen itse isännöitäväksi MIT-lisenssillä organisaatioille, joiden vuosittainen liikevaihto tai rahoitus on alle 5 miljoonaa dollaria. Yli 5 miljoonan dollarin kohdalla tuotantokäyttöön vaaditaan kaupallinen lisenssi. Directus Cloud alkaa 25 $/kk (Starter), ja Professional-suunnitelmat ovat 49–499 $/kk heidän hinnoittelusivunsa mukaan.
5 miljoonan dollarin liikevaihtoraja
Tämä on Directusin liiketoiminnallisesti tärkein fakta, ja useimmat oppaat joko hautaavat sen tai ohittavat sen kokonaan. Näin se toimii:
- Alle 5 M$ vuosittainen liikevaihto tai kokonaisrahoitus: Ilmainen ikuisesti. MIT-lisenssi. Itse isännöitävä missä tahansa. Ei ominaisuusrajoituksia.
- Yli 5 M$ tuotannossa: Tarvitset kaupallisen lisenssin. Ota yhteyttä Directusin myyntiin hinnoittelusta.
- Kehitys ja testaus: Aina ilmainen, yrityksen koosta riippumatta. Raja koskee vain tuotantoon vietyjä versioita.
5 miljoonan dollarin luku sisältää venture-rahoituksen, ei vain liikevaihdon. Joten siemenvaiheen startup, jolla on 6 miljoonaa dollaria rahoitusta, putoaa teknisesti rajan yläpuolelle. Käytännössä Directus ei ole ollut aggressiivinen varhaisen vaiheen yritysten valvonnassa, mutta sinun tulisi huomioida tämä suunnittelussasi.
Pilvisuunnitelmat
Jos et halua hallinnoida infrastruktuuria, Directus Cloud hoitaa hostauksen, varmuuskopiot ja päivitykset:
- Starter: 25 $/kk, hyvä pieniin projekteihin, henkilökohtaisiin sivustoihin
- Professional: 49–499 $/kk, skaalautuu tallennustilan, kaistanleveyden ja asset-muunnosten mukaan
- Enterprise: Räätälöity hinnoittelu, SLA, omistettu infrastruktuuri, priorisoitu tuki
Ei käyttäjäpaikkaperusteista lisenssointia. Koko tiimisi käyttää samaa suunnitelmaa. Vertaa tätä Contentfuliin, joka veloittaa per käyttäjä (katso Contentful-hinnoitteluerittelymme), tai Sanityyn, joka veloittaa API-käytön ja datasettien kaistanleveyden perusteella.
| CMS | Ilmainen taso | Maksullinen alkaa | Hinnoittelumalli | Itse isännöity |
|---|---|---|---|---|
| Directus | Kyllä (<5 M$ liikevaihto) | 25 $/kk (Cloud) | Liikevaihtoon perustuva | Kyllä |
| Strapi | Kyllä (täysin avoin lähdekoodi) | 29 $/kk (Cloud) | Käyttäjäpaikkaperusteinen | Kyllä |
| Payload | Kyllä (täysin avoin lähdekoodi) | Cloud (beta) | TBD | Kyllä |
| Contentful | Kyllä (rajattu) | 300 $/kk | Käyttäjäpaikka + käyttö | Ei |
| Sanity | Kyllä (rajattu) | 15 $/kk | Käyttöpohjainen | Ei |
Directus vs Strapi vs Payload: Vertailu
Directus käärii olemassa olevat tietokannat ilman migraatiota, Strapi generoi oman skeemansa sisältötyypeistä ja Payload upotetaan suoraan Next.js-sovellukseesi. Directus tukee 7 tietokantaa, Strapi 2:tä ja Payload 2:tä. Kaikki kolme ovat avoimen lähdekoodin projekteja, mutta niiden filosofiat ovat melko erilaisia.
Rakennettuamme projekteja sekä Strapilla että Directuksella, suurin ero on siinä, miten ne ajattelevat tietokantaasi. Strapilla määrittelet sisältötyypit hallintaliittymässä tai koodissa, ja Strapi luo ja hallinnoi tietokantataulut puolestasi. Directuksella tietokanta on totuuden lähde; Directus lukee sen ja mukautuu.
| Ominaisuus | Directus | Strapi | Payload |
|---|---|---|---|
| Arkkitehtuuri | Tietokantakeskeinen (käärii olemassa olevan DB:n) | Code-first (generoi DB:n malleista) | Framework-upotettu (elää Next.js:ssä) |
| Tietokannat | PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB, MS-SQL | PostgreSQL, SQLite | MongoDB, PostgreSQL |
| APIt | REST + GraphQL (molemmat natiiveja) | REST (GraphQL laajennuksena) | Local API + REST + GraphQL |
| Hallintaliittymä | Data Studio (Vue.js) | Content Manager (React) | Admin Panel (React, upotettu) |
| GitHub-tähdet | ~34,5k | ~68k | ~33k |
| Pilvihostaus | Directus Cloud (alk. 25 $/kk) | Strapi Cloud (alk. 29 $/kk) | Payload Cloud (beta) |
Milloin valita Directus: Sinulla on olemassa oleva tietokanta, haluat kaksois-REST+GraphQLin out-of-the-box tai sinun täytyy tukea harvinaisempia tietokantoja kuten OracleDB:tä tai CockroachDB:tä.
Milloin valita Strapi: Haluat suurimman ekosysteemin ja yhteisön, suosit määrittelemään sisältötyypit käyttöliittymän kautta tai aloitat tyhjästä ilman olemassa olevaa tietokantaa. Lue koko Strapi-oppaamme saadaksesi lisätietoja.
Milloin valita Payload: Haluat CMS:n upotettuna suoraan Next.js-sovellukseesi, suosit TypeScript-first-konfiguraatiota tai tarvitset Local API:n, joka ohittaa HTTP:n kokonaan. Katso Payload CMS -syväluotaus saadaksesi kokonaiskuvan.
Milloin EI kannata käyttää Directusta
Directus ei ole oikea valinta, jos tarvitset visuaalista sivujen rakentajaa, tiiviisti integroitua Next.js-frameworkia tai NoSQL-backendiä. Se lisää myös ylimääräistä kuormitusta yksinkertaisiin projekteihin, joissa flat-file-CMS tai WordPress riittäisi.
Olemme nähneet tiimien valitsevan Directusin silloin, kun heidän ei olisi pitänyt, ja kuvio on yleensä jokin näistä:
- Tarvitset visuaalisen sivujen rakentajan. Directusin Data Studio on erinomainen strukturoituun datanhallintaan, mutta se ei ole drag-and-drop-sivustorakentaja. Jos visuaalinen editointi on prioriteettisi, katso Storyblokia, katso Storyblok-oppaamme vertailua varten.
- Olet sitoutunut NoSQL:ään. Directus on suunniteltu SQL-only-periaatteelle. Jos datasi on MongoDB:ssä, Payload CMS on luonteva valinta.
- Projektisi on yksinkertainen blogi. Dockerin, PostgreSQL:n ja Directusin pystyttäminen henkilökohtaista blogia varten on vakavaa overkillia. WordPress, Astro markdown-tiedostoilla tai jopa Ghost vievät julkaisemiseen murto-osan ajasta.
- Haluat CMS-in-framework. Jos haluat CMS:n elävän Next.js-koodipohjassasi first-class citizenina, Payload tekee tämän natiivisti. Directus on aina erillinen palvelu.
- Olet suuri organisaatio. Jos yrityksesi ylittää 5 miljoonan dollarin liikevaihtorajan, tarvitset kaupallisen lisenssin tuotantoon. Huomioi tämä kustannus verrattuna täysin avoimen lähdekoodin vaihtoehtoihin kuten Strapi tai Payload, joissa itse isännöinti on ilmaista liikevaihdosta riippumatta.
Nämä eivät ole virheitä, vaan suunnittelupäätöksiä. Directus on dataplatformi, ei verkkosivustorakentaja. Erojen tunteminen säästää kuukausilta turhautumista.
FAQ
Mikä on Directus CMS?
Directus on avoimen lähdekoodin headless CMS, joka käärii minkä tahansa olemassa olevan SQL-tietokannan välittömillä REST- ja GraphQL-APIeilla. Se tukee PostgreSQL:ää, MySQL:ää, MariaDB:tä, SQLitea, OracleDB:tä, CockroachDB:tä ja MS-SQL:ää. Toisin kuin perinteiset CMS-järjestelmät, Directus ei luo omaa skeemaansa, vaan se lukee ja peilaa olemassa olevan tietokantarakenneesi automaattisesti.
Onko Directus todella ilmainen?
Directus on ilmainen itse isännöitäväksi MIT-lisenssillä organisaatioille, joiden vuosittainen liikevaihto tai kokonaisrahoitus on alle 5 miljoonaa dollaria. Tämän rajan ylittyessä tuotantokäyttöön tarvitaan kaupallinen lisenssi. Kehitys- ja testiympäristöt ovat aina ilmaisia. Directus Cloud, heidän hallinnoitu hostauksensa, alkaa 25 dollarista kuukaudessa.
Miten Directus eroaa Strapista?
Directus on tietokantakeskeinen; se käärii olemassa olevan SQL-tietokantasi muuttamatta skeemaa. Strapi on code-first; määrittelet sisältötyypit ja Strapi generoi tietokantataulut. Directus tukee 7 tietokantaa, kun taas Strapi tukee 2:tä. Molemmat tarjoavat REST-APIt, mutta Directus sisältää natiivin GraphQL:n, kun taas Strapi vaatii laajennuksen.
Mitä tietokantoja Directus tukee?
Directus tukee seitsemää SQL-tietokantaa: PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB ja MS-SQL. Se yhdistyy olemassa olevaan tietokantaasi ja analysoi skeeman automaattisesti. Tämä monitietokantatuki on ainutlaatuista headless CMS-järjestelmien joukossa; useimmat kilpailijat tukevat vain yhtä tai kahta tietokantamoottoria.
Voiko Directus korvata WordPressin?
Directus voi korvata WordPressin sisällönhallinnassa, erityisesti headless- tai API-vetoisissa projekteissa. Directuksessa ei kuitenkaan ole sisäänrakennettua frontendia, teemoja tai sivujen rakentajaa. Sinun täytyy rakentaa oma frontendisi frameworkilla kuten Next.js tai Astro. Yksinkertaisiin blogeihin tai sivustoille, jotka tarvitsevat visuaalista editointia, WordPress on edelleen käytännöllisempi.
Onko Directuksessa visuaalista editoria?
Directus sisältää Data Studion, tehokkaan hallintaliittymän strukturoituun datanhallintaan, kojelautojen rakentamiseen ja oikeuksien konfigurointiin. Siinä ei kuitenkaan ole visuaalista sivujen rakentajaa tai WYSIWYG-sivustoeditoria kuten Storyblokissa tai WordPressissä. Directus on suunniteltu datanhallintaan, ei drag-and-drop-sivujen sommitteluun.
Sopiiiko Directus e-commerceen?
Directus toimii hyvin tuotetietojen hallintajärjestelmänä (PIM); voit mallintaa tuoteluetteloita, hallita attribuutteja ja syöttää dataa APIen kautta. Se ei kuitenkaan ole e-commerce-alusta. Et saa ostoskoria, kassavirtaa tai maksunkäsittelyä. Yhdistä se Shopifyhyn, Saleoriin tai Medusaan transaktiokerrosta varten.
Voinko käyttää Directusta Next.js:n kanssa?
Kyllä. Asenna @directus/sdk-paketti, luo client, joka osoittaa Directus-instanssiisi, ja hae data Server Componentsissa käyttämällä readItems(). Directus palauttaa tavallista JSONia, joten valmistajakohtaisia React-komponentteja ei tarvita. Sama lähestymistapa toimii minkä tahansa JavaScript-frameworkin kanssa, mukaan lukien Astro, Nuxt ja SvelteKit.
Tukeeko Directus yhteistyöeditointia?
Kyllä, versiosta 11.15 lähtien (helmikuu 2026). Directuksessa on natiivi yhteistyöeditointi live-läsnäoloindikaattoreilla, jotka näyttävät kuka muokkaa mitä, sekä kenttäkohtainen lukitus ristiriitojen estämiseksi. Tämä on sisäänrakennettu ominaisuus, ei laajennus. Yhdistettynä globaaleihin luonnosversioihin v11.16:ssa tiimit voivat lavastaa ja esikatsella muutoksia ennen julkaisua.
Mikä on Directus MCP -palvelin?
Directus esitteli natiivin Model Context Protocol -palvelimen versiossa v11.13 (marraskuu 2025). MCP mahdollistaa tekoälytyökalujen, kuten Clauden ja ChatGPT:n, vuorovaikutuksen Directus-sisältösi kanssa suoraan: lukemisen, luomisen ja päivittämisen luonnollisen kielen kautta. MCP-palvelin kunnioittaa olemassa olevia RBAC-oikeuksiasi, joten tekoälyn pääsy noudattaa samoja sääntöjä kuin ihmiskäyttäjien.