
Οδηγός Directus CMS: Headless CMS με προτεραιότητα στη βάση δεδομένων για προγραμματιστές
Τα περισσότερα headless CMS απαιτούν να δημιουργήσετε το μοντέλο δεδομένων σας μέσα στο σύστημά τους. Το Directus το αντιστρέφει αυτό, καθώς περιτυλίγει την υπάρχουσα SQL βάση δεδομένων σας και σας παρέχει άμεσα REST και GraphQL API χωρίς να αγγίζει το σχήμα σας. Με ~34,5 χιλ. αστέρια στο GitHub και υιοθέτηση από εταιρείες όπως η Tripadvisor, η Adobe και η Mercedes-Benz, αποτελεί μία από τις πιο ικανές επιλογές ανοιχτού κώδικα ανάμεσα στις καλύτερες επιλογές headless CMS το 2026.
| Χαρακτηριστικό | Λεπτομέρεια |
|---|---|
| Τύπος | Headless CMS ανοιχτού κώδικα |
| Αρχιτεκτονική | Με προτεραιότητα στη βάση δεδομένων (περιτυλίγει υπάρχουσες SQL βάσεις δεδομένων) |
| Βάσεις δεδομένων | PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB, MS-SQL |
| API | REST + GraphQL (ταυτόχρονα) |
| Αυτοφιλοξενούμενο | Δωρεάν για έσοδα κάτω από 5 εκατ. $ (άδεια MIT) |
| Cloud | Από 25 $/μήνα |
| Δυνατότητες AI | Διακομιστής MCP, Βοηθός AI (πολλαπλών παρόχων) |
| Συνεργατική επεξεργασία | Εγγενής από την έκδοση v11.15 |
| Ιδανικό για | Ομάδες με υπάρχουσες βάσεις δεδομένων, έργα με προτεραιότητα στο API |
| Δεν ενδείκνυται για | Οπτική δόμηση σελίδων, NoSQL, απλά ιστολόγια |
| GitHub | ~34,5 χιλ. αστέρια |
| Τελευταία έκδοση | v11.16 (Απρίλιος 2026) |
Τι είναι το Directus CMS;
Το Directus είναι ένα open-source headless CMS που περιτυλίγει οποιαδήποτε υπάρχουσα SQL βάση δεδομένων με άμεσα REST και GraphQL APIs. Σε αντίθεση με το Strapi ή το Payload, το Directus δεν δημιουργεί το δικό του schema βάσης δεδομένων — αντικατοπτρίζει το δικό σας. Υποστηρίζει 7 βάσεις δεδομένων, συμπεριλαμβανομένων των PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB και MS-SQL, και είναι δωρεάν για οργανισμούς με έσοδα κάτω από 5 εκατομμύρια δολάρια, σύμφωνα με την επίσημη τεκμηρίωση του Directus.
Σκεφτείτε το ως ένα έξυπνο στρώμα που κάθεται πάνω από τη βάση δεδομένων σας. Φέρνετε μια υπάρχουσα βάση PostgreSQL με 50 πίνακες, στρέφετε το Directus προς αυτήν, και μέσα σε λίγα λεπτά έχετε ένα πλήρες admin UI, έλεγχο πρόσβασης βάσει ρόλων, και τόσο REST όσο και GraphQL endpoints. Χωρίς migration scripts. Χωρίς αναδιάρθρωση δεδομένων.
Αυτό ακριβώς σημαίνει στην πράξη η προσέγγιση «database-first», και διαφέρει θεμελιωδώς από την προσέγγιση code-first που χρησιμοποιεί το Strapi (όπου ορίζετε τύπους περιεχομένου που δημιουργούν πίνακες στη βάση) ή από την προσέγγιση ενσωμάτωσης σε framework του Payload CMS (όπου το CMS ζει μέσα στην Next.js εφαρμογή σας).
Εξήγηση της Αρχιτεκτονικής με Προτεραιότητα στη Βάση Δεδομένων
Όταν συνδέσαμε για πρώτη φορά το Directus με μια υπάρχουσα βάση δεδομένων PostgreSQL για ένα έργο πελάτη, αυτό που μας εξέπληξε ήταν πόσο ελάχιστη ρύθμιση απαιτούνταν. Το Directus εξετάζει το σχήμα της βάσης δεδομένων σας, οι πίνακες γίνονται «συλλογές», οι στήλες γίνονται «πεδία» και δημιουργεί τη διαχειριστική του διεπαφή από ό,τι υπάρχει ήδη.
Αυτό σημαίνει ότι τα δεδομένα σας δεν κλειδώνονται ποτέ σε μια ιδιόκτητη μορφή. Αν αποφασίσετε να σταματήσετε να χρησιμοποιείτε το Directus αύριο, η βάση δεδομένων σας παραμένει μια τυπική βάση δεδομένων SQL. Δοκιμάστε να το κάνετε αυτό με το Contentful ή το Sanity, όπου το περιεχόμενό σας βρίσκεται στους δικούς τους διακομιστές, στη δική τους μορφή.
Επίσης, το Directus δεν είναι απλώς ένα CMS. Η ομάδα το τοποθετεί ως μια συνθέσιμη πλατφόρμα δεδομένων — οι χρήστες το χρησιμοποιούν για BaaS (Backend as a Service), εσωτερικούς πίνακες διαχείρισης και προσαρμοσμένους πίνακες ελέγχου. Η περίπτωση χρήσης ως CMS είναι η πιο δημοφιλής, αλλά η αρχιτεκτονική υποστηρίζει πολύ περισσότερα.
Βασικά Χαρακτηριστικά του Directus
Το Directus παρέχει διπλά REST και GraphQL APIs, λεπτομερή δικαιώματα βάσει ρόλων, ενσωματωμένη αυτοματοποίηση Flows, ένα Data Studio με μεταφορά και απόθεση, διαχείριση ψηφιακών πόρων και εγγενή υποστήριξη i18n για περισσότερες από 50 γλώσσες. Από την έκδοση v11.15, περιλαμβάνει συνεργατική επεξεργασία και έναν Βοηθό AI ως εγγενή χαρακτηριστικά, και όχι ως πρόσθετα τρίτων.
Δείτε τι έχει τη μεγαλύτερη σημασία αν αξιολογείτε το Directus για ένα έργο:
Διπλά API REST και GraphQL
Και τα δύο API είναι διαθέσιμα ταυτόχρονα από τα ίδια δεδομένα, με μηδενική διαμόρφωση. Δεν χρειάζεται να διαλέξετε το ένα ή το άλλο — αποκτάτε και τα δύο. Η ομάδα mobile σας μπορεί να χρησιμοποιεί REST, ενώ το web frontend σας να χρησιμοποιεί GraphQL. Το REST API ακολουθεί ένα προβλέψιμο μοτίβο (/items/{collection}) και το endpoint του GraphQL βρίσκεται στο /graphql.
Ροές και Αυτοματοποίηση
Οι Ροές είναι το σύστημα αυτοματοποίησης βάσει συμβάντων του Directus, ενσωματωμένο απευθείας στο περιβάλλον του Data Studio. Μπορείτε να ενεργοποιήσετε ροές εργασίας με βάση συμβάντα CRUD (δημιουργία, ενημέρωση, διαγραφή στοιχείου), χρονοδιαγράμματα (τύπου cron) ή webhooks. Οι λειτουργίες περιλαμβάνουν αποστολή email, εκτέλεση αιτημάτων HTTP, εκτέλεση προσαρμοσμένου JavaScript κώδικα και μετασχηματισμό δεδομένων.
Για ομάδες που αναπτύσσουν με AI, το Directus διαθέτει ακόμη και έναν εγγενή διακομιστή Οδηγός Model Context Protocol (MCP), αλλά θα αναφερθούμε σε αυτόν στην ενότητα για την v11.
Επεκτάσεις και Προσαρμογή
Το σύστημα επεκτάσεων υποστηρίζει hooks (διαχειριστές συμβάντων από την πλευρά του διακομιστή), προσαρμοσμένα endpoints, πάνελ UI, πλήρεις ενότητες και κόμβους λειτουργιών για τα Flows. Οι επεκτάσεις δημιουργούνται με Vue.js για το frontend και απλό Node.js για το backend. Η έκδοση v11.0 αναδιάρθρωσε τις επεκτάσεις από φακέλους βασισμένους σε τύπο σε μια πιο καθαρή, ενοποιημένη μορφή.
Δείτε πώς συγκρίνεται το Directus με τον ανταγωνισμό ως προς τις δυνατότητες:
| Δυνατότητα | Directus | Strapi | Payload | Sanity |
|---|---|---|---|---|
| Υποστήριξη Βάσεων Δεδομένων | 7 βάσεις δεδομένων SQL | PostgreSQL, SQLite | MongoDB, PostgreSQL | Φιλοξενούμενη (ιδιόκτητη) |
| Τύπος API | REST + GraphQL | REST (πρόσθετο GraphQL) | Τοπικό API + REST + GraphQL | GROQ + GraphQL |
| Αυτο-φιλοξενία | Ναι (δωρεάν <$5M) | Ναι (δωρεάν) | Ναι (δωρεάν) | Όχι |
| Οπτικός Δημιουργός | Data Studio (εστιασμένο στα δεδομένα) | Content-Type Builder | Live Preview | Sanity Studio |
| i18n | Εγγενής (50+ γλώσσες) | Βασισμένη σε πρόσθετα | Σε επίπεδο πεδίου | Σε επίπεδο εγγράφου |
| Αυτοματισμός | Flows (ενσωματωμένα) | Hooks κύκλου ζωής | Hooks + Jobs | Webhooks με τεχνολογία GROQ |
| Μοντέλο Τιμολόγησης | Βασισμένο σε έσοδα (κατώφλι $5M) | Βασισμένο σε θέσεις χρήστη | Δωρεάν + Cloud | Βασισμένο στη χρήση |
Τι νέο υπάρχει στο Directus v11 (2025-2026)
Το Directus v11 εισήγαγε εγγενή υποστήριξη διακομιστή MCP (v11.13), έναν Βοηθό AI με υποστήριξη για OpenAI, Anthropic και Gemini (v11.14), συνεργατική επεξεργασία με ζωντανούς δείκτες παρουσίας (v11.15) και καθολικές εκδόσεις προσχεδίων με δικαιώματα ανάπτυξης βάσει ρόλων (v11.16). Πρόκειται για ενσωματωμένες λειτουργίες, όχι για επεκτάσεις της κοινότητας.
Αυτό είναι το σημείο όπου το Directus κινείται πιο γρήγορα, και είναι η ενότητα που οι περισσότεροι ανταγωνιστές παραβλέπουν εντελώς. Μόνο ένας από τους έξι κορυφαίους οδηγούς κατάταξης καλύπτει οτιδήποτε από αυτά.
Διακομιστής MCP και Βοηθός AI
Η έκδοση v11.13 έκανε το Directus ένα από τα πρώτα CMS με εγγενή διακομιστή MCP. Αν χρησιμοποιείτε το Claude, το ChatGPT ή οποιοδήποτε εργαλείο AI συμβατό με MCP, μπορεί να διαχειρίζεται απευθείας το περιεχόμενο του Directus σας, διαβάζοντας συλλογές, δημιουργώντας στοιχεία και ενημερώνοντας πεδία, τηρώντας παράλληλα τα δικαιώματα RBAC σας. Αν είστε νέοι στο MCP, ο οδηγός μας για το Πρωτόκολλο Πλαισίου Μοντέλου (MCP) εξηγεί το πρωτόκολλο αναλυτικά.
Ο Βοηθός AI (v11.14) είναι ξεχωριστός από το MCP· πρόκειται για μια ενσωματωμένη διεπαφή συνομιλίας μέσα στο Data Studio που υποστηρίζει τα OpenAI, Anthropic, Gemini, ακόμη και τοπικά μοντέλα μέσω Ollama. Από την v11.16, έγινε πολυτροπικός: μπορείτε να ανεβάζετε εικόνες και PDF απευθείας στη συνομιλία AI για επεξεργασία.
Συνεργατική Επεξεργασία και Πρόχειρες Εκδόσεις
Η συνεργατική επεξεργασία κυκλοφόρησε στην έκδοση v11.15 με ζωντανούς δείκτες παρουσίας (μπορείτε να δείτε ποιος άλλος επεξεργάζεται το ίδιο στοιχείο) και κλείδωμα σε επίπεδο πεδίου για την αποφυγή συγκρούσεων. Η ίδια έκδοση πρόσθεσε μια μονάδα ανάπτυξης Vercel με δικαιώματα ανάπτυξης βάσει ρόλων.
Η έκδοση v11.16 προχώρησε περαιτέρω την προετοιμασία περιεχομένου με καθολικές πρόχειρες εκδόσεις. Κάθε στοιχείο με έκδοση αποκτά αυτόματα ένα πρόχειρο αντίγραφο. Οι συντάκτες μπορούν να προεπισκοπούν τις αλλαγές σε σχέση με τη ζωντανή έκδοση και να προωθούν τα πρόχειρα όταν είναι έτοιμα. Τα δικαιώματα ανάπτυξης βάσει ρόλων σημαίνουν ότι η ομάδα περιεχομένου σας μπορεί να προετοιμάζει αλλαγές χωρίς να τις προωθεί κατά λάθος στην παραγωγή.
| Έκδοση | Ημερομηνία | Βασικά Χαρακτηριστικά |
|---|---|---|
| v11.0 | 2024 | Νέο σύστημα επεκτάσεων, ενσωματωμένη μορφή |
| v11.13 | Νοέ 2025 | Εγγενής υποστήριξη διακομιστή MCP |
| v11.14 | Δεκ 2025 | Βοηθός AI (πολλαπλών παρόχων), διεπαφή κεφαλίδας |
| v11.15 | Φεβ 2026 | Συνεργατική επεξεργασία GA, Βοηθός AI GA, αναπτύξεις Vercel |
| v11.16 | Απρ 2026 | Καθολικές πρόχειρες εκδόσεις, πολυτροπικό AI, ανάπτυξη βάσει ρόλων |
Ξεκινώντας με το Directus (Ρύθμιση Docker)
Μπορείτε να τρέξετε το Directus τοπικά με Docker σε λιγότερο από 2 λεπτά. Δημιουργήστε ένα αρχείο docker-compose.yml με την εικόνα directus/directus, ορίστε τη σύνδεση της βάσης δεδομένων και τα διαπιστευτήρια διαχειριστή ως μεταβλητές περιβάλλοντος και, στη συνέχεια, εκτελέστε docker compose up. Το Directus εκκινείται στη διεύθυνση localhost:8055.
Η ρύθμιση του Docker μας πήρε λιγότερο από 2 λεπτά από ψυχρή εκκίνηση. Ακολουθεί ένα πλήρες docker-compose.yml που περιλαμβάνει το PostgreSQL, όχι μόνο το container του Directus, αλλά ολόκληρο το stack:
# 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:Run it:
docker compose up -dΑνοίξτε το http://localhost:8055, συνδεθείτε με τα διαπιστευτήρια διαχειριστή που ορίσατε και θα βρεθείτε στο Data Studio. Από εκεί μπορείτε να δημιουργήσετε συλλογές (πίνακες), να ορίσετε πεδία (στήλες) και να ξεκινήσετε αμέσως τη διαχείριση περιεχομένου. Οι μεταβλητές περιβάλλοντος KEY και SECRET χρησιμοποιούνται για τη δημιουργία διακριτικών JWT· σε περιβάλλον παραγωγής χρησιμοποιήστε τυχαίες συμβολοσειρές, όχι τα παραπάνω προσωρινά placeholders.
Ερώτημα Δεδομένων με το Directus SDK
Το Directus JavaScript SDK παρέχει ασφαλή ως προς τους τύπους πρόσβαση στα δεδομένα σας τόσο μέσω REST όσο και μέσω GraphQL. Εγκαταστήστε το @directus/sdk, δημιουργήστε έναν client με το createDirectus() και χρησιμοποιήστε το readItems() για να ανακτήσετε συλλογές με ενσωματωμένο φιλτράρισμα, ταξινόμηση και επιλογή πεδίων.
Το συνθέσιμο μοτίβο του SDK μου φάνηκε διαισθητικό αφού είχα δουλέψει με βιβλιοθήκες όπως ο client του Supabase. Ξεκινάτε με έναν βασικό client και προσθέτετε δυνατότητες συνθέτοντας συναρτήσεις:
// 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
})
);Η δημιουργία αντικειμένων ακολουθεί το ίδιο μοτίβο:
// 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'
})
);Για την αυθεντικοποίηση, επιλέγετε μεταξύ του staticToken() (για επικοινωνία μεταξύ διακομιστών) και του authentication() (για εφαρμογές που απευθύνονται σε χρήστες με ροές σύνδεσης):
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
Κάθε μέθοδος του SDK έχει ένα αντίστοιχο REST endpoint. Αν προτιμάτε να εργάζεστε απευθείας με curl ή fetch:
# Ανάκτηση δημοσιευμένων άρθρων
curl \"http://localhost:8055/items/articles?filter[status][_eq]=published&sort=-date_published&limit=10&fields=id,title,slug\"
# Δημιουργία νέου στοιχείου
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
Τα ίδια δεδομένα είναι διαθέσιμα μέσω GraphQL στη διεύθυνση /graphql:
query {
articles(
filter: { status: { _eq: "published" } }
sort: ["-date_published"]
limit: 10
) {
id
title
slug
content
author {
name
}
}
}Δεν χρειάζεται να ρυθμίσετε ή να ενεργοποιήσετε το GraphQL ξεχωριστά· είναι πάντα διαθέσιμο παράλληλα με το REST.
Directus με Next.js (Ενσωμάτωση Framework)
Η σύνδεση του Directus με το Next.js απαιτεί τρία βήματα: εγκατάσταση του @directus/sdk, δημιουργία ενός client lib/directus.ts και ανάκτηση δεδομένων στα Server Components σας χρησιμοποιώντας το readItems(). Το Directus επιστρέφει raw JSON, επομένως έχετε πλήρη έλεγχο στο rendering χωρίς components συγκεκριμένα για κάποιον vendor.
Αυτό είναι το πιο καθαρό κομμάτι της εργασίας με το Directus. Δεν υπάρχει ειδικός adapter για framework, δεν υπάρχουν React components ειδικά για το Directus, δεν υπάρχει build plugin. Είναι απλά ανάκτηση δεδομένων. Αν έχετε δουλέψει με οποιοδήποτε REST API στο Next.js, ξέρετε ήδη πώς λειτουργεί αυτό. Για πληροφορίες σχετικά με τις επιλογές framework, δείτε τη σύγκριση Next.js και Remix.
Πρώτα, δημιουργήστε τον κοινόχρηστο client (αυτό είναι το ίδιο αρχείο από την ενότητα SDK, αλλά ρυθμισμένο για το deployed instance σας):
// 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 };Στη συνέχεια, χρησιμοποιήστε τον σε ένα Server Component, χωρίς useEffect, χωρίς καταστάσεις φόρτωσης, απλά 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>
);
}Αυτό ήταν. Χωρίς vendor lock-in. Η ίδια προσέγγιση λειτουργεί με Astro, Nuxt, SvelteKit ή οποιοδήποτε framework που μπορεί να κάνει HTTP requests. Η επίσημη τεκμηρίωση του Directus περιλαμβάνει οδηγούς για συγκεκριμένα framework για Astro και Nuxt αν θέλετε αυτούς, αλλά το μοτίβο είναι πανομοιότυπο: δημιουργία client, κλήση του readItems(), render.
Τιμολόγηση και Αδειοδότηση του Directus CMS (2026)
Το Directus είναι δωρεάν για αυτόνομη φιλοξενία υπό την άδεια MIT για οργανισμούς με ετήσια έσοδα ή χρηματοδότηση κάτω από 5 εκατομμύρια δολάρια. Πάνω από τα 5 εκατομμύρια δολάρια, απαιτείται εμπορική άδεια για χρήση σε περιβάλλον παραγωγής. Το Directus Cloud ξεκινά από 25 δολάρια/μήνα (Starter), με πλάνα Professional από 49 έως 499 δολάρια/μήνα, σύμφωνα με τη σελίδα τιμολόγησής τους.
Το κατώφλι εσόδων των 5 εκατομμυρίων δολαρίων
Αυτό είναι το σημαντικότερο επιχειρηματικό γεγονός για το Directus, και οι περισσότεροι οδηγοί είτε το θάβουν είτε το παραλείπουν εντελώς. Δείτε πώς λειτουργεί:
- Κάτω από 5 εκατομμύρια δολάρια ετήσια έσοδα ή συνολική χρηματοδότηση: Δωρεάν για πάντα. Άδεια MIT. Αυτοφιλοξενία οπουδήποτε. Χωρίς περιορισμούς λειτουργιών.
- Πάνω από 5 εκατομμύρια δολάρια σε παραγωγή: Χρειάζεστε εμπορική άδεια. Επικοινωνήστε με το τμήμα πωλήσεων του Directus για τιμολόγηση.
- Ανάπτυξη και δοκιμές: Πάντα δωρεάν, ανεξαρτήτως μεγέθους εταιρείας. Το κατώφλι ισχύει μόνο για εγκαταστάσεις παραγωγής.
Το ποσό των 5 εκατομμυρίων δολαρίων περιλαμβάνει τη χρηματοδότηση επιχειρηματικού κινδύνου (venture funding), όχι μόνο τα έσοδα. Έτσι, μια startup σε στάδιο seed με 6 εκατομμύρια δολάρια χρηματοδότησης βρίσκεται τεχνικά πάνω από το κατώφλι. Στην πράξη, το Directus δεν έχει επιδείξει αυστηρή επιβολή για εταιρείες πρώιμου σταδίου, αλλά θα πρέπει να το λάβετε υπόψη στον σχεδιασμό σας.
Πλάνα Cloud
Αν δεν θέλετε να διαχειρίζεστε εσείς την υποδομή, το Directus Cloud αναλαμβάνει τη φιλοξενία, τα αντίγραφα ασφαλείας και τις ενημερώσεις:
- Starter: 25$/μήνα, κατάλληλο για μικρά έργα και προσωπικούς ιστότοπους
- Professional: 49$–499$/μήνα, κλιμακώνεται ανάλογα με τον αποθηκευτικό χώρο, το εύρος ζώνης και τους μετασχηματισμούς ψηφιακών πόρων
- Enterprise: Προσαρμοσμένη τιμολόγηση, SLA, αποκλειστική υποδομή, υποστήριξη προτεραιότητας
Χωρίς αδειοδότηση ανά χρήστη. Ολόκληρη η ομάδα σας χρησιμοποιεί το ίδιο πλάνο. Συγκρίνετέ το με το Contentful, το οποίο χρεώνει ανά χρήστη (δείτε την ανάλυση τιμολόγησης του Contentful), ή με το Sanity, το οποίο χρεώνει βάσει χρήσης API και εύρους ζώνης συνόλων δεδομένων.
| CMS | Δωρεάν Πλάνο | Πληρωμένα Ξεκινούν Από | Μοντέλο Τιμολόγησης | Αυτο-φιλοξενία |
|---|---|---|---|---|
| Directus | Ναι (<5 εκατ. $ έσοδα) | 25$/μήνα (Cloud) | Βάσει εσόδων | Ναι |
| Strapi | Ναι (πλήρως ανοιχτού κώδικα) | 29$/μήνα (Cloud) | Βάσει θέσεων | Ναι |
| Payload | Ναι (πλήρως ανοιχτού κώδικα) | Cloud (beta) | Υπό διαμόρφωση | Ναι |
| Contentful | Ναι (περιορισμένο) | 300$/μήνα | Θέσεις + χρήση | Όχι |
| Sanity | Ναι (περιορισμένο) | 15$/μήνα | Βάσει χρήσης | Όχι |
Directus vs Strapi vs Payload: Πώς Συγκρίνονται
Το Directus περιτυλίγει υπάρχουσες βάσεις δεδομένων χωρίς migration, το Strapi δημιουργεί το δικό του schema από content types και το Payload ενσωματώνεται απευθείας στην Next.js εφαρμογή σας. Το Directus υποστηρίζει 7 βάσεις δεδομένων, το Strapi υποστηρίζει 2 και το Payload υποστηρίζει 2. Και τα τρία είναι open-source, αλλά οι φιλοσοφίες τους είναι αρκετά διαφορετικές.
Έχοντας χτίσει projects τόσο με το Strapi όσο και με το Directus, η μεγαλύτερη διαφορά είναι ο τρόπος που αντιμετωπίζουν τη βάση δεδομένων σας. Με το Strapi, ορίζετε content types στο admin UI ή στον κώδικα και το Strapi δημιουργεί και διαχειρίζεται τους πίνακες της βάσης δεδομένων για εσάς. Με το Directus, η βάση δεδομένων είναι η πηγή αλήθειας· το Directus τη διαβάζει και προσαρμόζεται.
| Χαρακτηριστικό | Directus | Strapi | Payload |
|---|---|---|---|
| Αρχιτεκτονική | Database-first (περιτυλίγει υπάρχουσα ΒΔ) | Code-first (δημιουργεί ΒΔ από models) | Framework-embedded (ζει μέσα στο Next.js) |
| Βάσεις δεδομένων | PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB, MS-SQL | PostgreSQL, SQLite | MongoDB, PostgreSQL |
| APIs | REST + GraphQL (και τα δύο native) | REST (GraphQL μέσω plugin) | Local API + REST + GraphQL |
| Admin UI | Data Studio (Vue.js) | Content Manager (React) | Admin Panel (React, ενσωματωμένο) |
| GitHub Stars | ~34.5k | ~68k | ~33k |
| Cloud Hosting | Directus Cloud ($25/μήνα+) | Strapi Cloud ($29/μήνα+) | Payload Cloud (beta) |
Πότε να επιλέξετε το Directus: Έχετε μια υπάρχουσα βάση δεδομένων, θέλετε διπλό REST+GraphQL έτοιμο από την αρχή, ή χρειάζεστε υποστήριξη για λιγότερο κοινές βάσεις δεδομένων όπως η OracleDB ή η CockroachDB.
Πότε να επιλέξετε το Strapi: Θέλετε το μεγαλύτερο οικοσύστημα και κοινότητα, προτιμάτε να ορίζετε content types μέσω UI, ή ξεκινάτε από το μηδέν χωρίς υπάρχουσα βάση δεδομένων. Διαβάστε τον πλήρη οδηγό μας για το Strapi για λεπτομέρειες.
Πότε να επιλέξετε το Payload: Θέλετε το CMS ενσωματωμένο απευθείας στην Next.js εφαρμογή σας, προτιμάτε TypeScript-first διαμόρφωση, ή χρειάζεστε ένα Local API που παρακάμπτει εντελώς το HTTP. Δείτε την εις βάθος ανάλυσή μας για το Payload CMS για την πλήρη εικόνα.
Πότε ΔΕΝ πρέπει να χρησιμοποιήσετε το Directus
Το Directus δεν είναι η κατάλληλη επιλογή αν χρειάζεστε έναν οπτικό κατασκευαστή σελίδων, ένα framework στενά ενσωματωμένο με το Next.js ή ένα backend NoSQL. Προσθέτει επίσης επιπλέον βάρος σε απλά έργα όπου ένα flat-file CMS ή το WordPress θα ήταν αρκετά.
Έχουμε δει ομάδες να επιλέγουν το Directus ενώ δεν θα έπρεπε, και το μοτίβο είναι συνήθως ένα από τα εξής:
- Χρειάζεστε έναν οπτικό κατασκευαστή σελίδων. Το Data Studio του Directus είναι εξαιρετικό για τη διαχείριση δομημένων δεδομένων, αλλά δεν είναι ένας drag-and-drop κατασκευαστής ιστοτόπων. Αν η οπτική επεξεργασία είναι προτεραιότητά σας, ρίξτε μια ματιά στο Storyblok — δείτε τον οδηγό μας για το Storyblok για το πώς συγκρίνεται.
- Είστε αφοσιωμένοι στο NoSQL. Το Directus είναι SQL-only εξ σχεδιασμού. Αν τα δεδομένα σας βρίσκονται σε MongoDB, το Payload CMS είναι η φυσική επιλογή.
- Το έργο σας είναι ένα απλό blog. Το στήσιμο Docker, PostgreSQL και Directus για ένα προσωπικό blog είναι σοβαρή υπερβολή. Το WordPress, το Astro με αρχεία markdown ή ακόμα και το Ghost θα σας επιτρέψουν να δημοσιεύετε σε κλάσμα του χρόνου.
- Θέλετε CMS μέσα στο framework. Αν θέλετε το CMS σας να βρίσκεται μέσα στη βάση κώδικα του Next.js σας ως πολίτης πρώτης κατηγορίας, το Payload το κάνει αυτό εγγενώς. Το Directus είναι πάντα μια ξεχωριστή υπηρεσία.
- Είστε μεγάλος οργανισμός. Αν η εταιρεία σας ξεπερνά το όριο εσόδων των $5 εκατομμυρίων, θα χρειαστείτε εμπορική άδεια για production. Συνυπολογίστε αυτό το κόστος σε σχέση με εναλλακτικές πλήρως ανοιχτού κώδικα όπως το Strapi ή το Payload, όπου το self-hosting είναι δωρεάν ανεξαρτήτως εσόδων.
Κανένα από αυτά δεν είναι ελάττωμα, είναι σχεδιαστικές αποφάσεις. Το Directus είναι μια πλατφόρμα δεδομένων, όχι ένας κατασκευαστής ιστοτόπων. Γνωρίζοντας τη διαφορά, γλιτώνετε μήνες απογοήτευσης.
Συχνές Ερωτήσεις
Τι είναι το Directus CMS;
Το Directus είναι ένα headless CMS ανοιχτού κώδικα που περιβάλλει οποιαδήποτε υπάρχουσα βάση δεδομένων SQL με άμεσα REST και GraphQL APIs. Υποστηρίζει PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB και MS-SQL. Σε αντίθεση με τα παραδοσιακά CMS, το Directus δεν δημιουργεί το δικό του σχήμα, αλλά διαβάζει και αντικατοπτρίζει αυτόματα την υπάρχουσα δομή της βάσης δεδομένων σας.
Είναι το Directus πραγματικά δωρεάν;
Το Directus είναι δωρεάν για ιδιόκτητη φιλοξενία (self-host) υπό την άδεια MIT, για οργανισμούς με ετήσια έσοδα ή συνολική χρηματοδότηση κάτω από $5 εκ. Πάνω από αυτό το όριο, απαιτείται εμπορική άδεια για χρήση σε περιβάλλον παραγωγής. Τα περιβάλλοντα ανάπτυξης και δοκιμών είναι πάντα δωρεάν. Το Directus Cloud, η διαχειριζόμενη υπηρεσία φιλοξενίας τους, ξεκινά από $25 τον μήνα.
Πώς διαφέρει το Directus από το Strapi;
Το Directus είναι database-first· αγκαλιάζει την υπάρχουσα SQL βάση δεδομένων σας χωρίς να τροποποιεί το σχήμα. Το Strapi είναι code-first· ορίζετε τους τύπους περιεχομένου και το Strapi δημιουργεί τους πίνακες της βάσης δεδομένων. Το Directus υποστηρίζει 7 βάσεις δεδομένων, ενώ το Strapi υποστηρίζει 2. Και τα δύο προσφέρουν REST API, αλλά το Directus περιλαμβάνει εγγενές GraphQL, ενώ το Strapi απαιτεί πρόσθετο (plugin).
Ποιες βάσεις δεδομένων υποστηρίζει το Directus;
Το Directus υποστηρίζει επτά βάσεις δεδομένων SQL: PostgreSQL, MySQL, MariaDB, SQLite, OracleDB, CockroachDB και MS-SQL. Συνδέεται στην υπάρχουσα βάση δεδομένων σας και αναλύει αυτόματα το σχήμα της. Αυτή η υποστήριξη πολλαπλών βάσεων δεδομένων είναι μοναδική μεταξύ των headless CMS, καθώς οι περισσότεροι ανταγωνιστές υποστηρίζουν μόνο μία ή δύο μηχανές βάσεων δεδομένων.
Μπορεί το Directus να αντικαταστήσει το WordPress;
Το Directus μπορεί να αντικαταστήσει το WordPress στη διαχείριση περιεχομένου, ειδικά για headless ή API-driven έργα. Ωστόσο, το Directus δεν διαθέτει ενσωματωμένο frontend, themes ή page builder. Θα χρειαστεί να φτιάξετε μόνοι σας το frontend με κάποιο framework όπως το Next.js ή το Astro. Για απλά blogs ή ιστοσελίδες που χρειάζονται οπτική επεξεργασία, το WordPress παραμένει πιο πρακτικό.
Διαθέτει ο Directus οπτικό επεξεργαστή;
Ο Directus περιλαμβάνει το Data Studio, ένα ισχυρό περιβάλλον διαχείρισης για τη διαχείριση δομημένων δεδομένων, τη δημιουργία πινάκων ελέγχου και τη ρύθμιση δικαιωμάτων πρόσβασης. Ωστόσο, δεν διαθέτει οπτικό εργαλείο δημιουργίας σελίδων ή επεξεργαστή ιστότοπων τύπου WYSIWYG όπως το Storyblok ή το WordPress. Ο Directus έχει σχεδιαστεί για τη διαχείριση δεδομένων και όχι για τη σύνθεση σελίδων με μεταφορά και απόθεση.
Είναι το Directus κατάλληλο για ηλεκτρονικό εμπόριο;
Το Directus λειτουργεί καλά ως σύστημα Διαχείρισης Πληροφοριών Προϊόντων (PIM): μπορείτε να μοντελοποιήσετε καταλόγους προϊόντων, να διαχειριστείτε χαρακτηριστικά και να παρέχετε δεδομένα μέσω API. Ωστόσο, δεν αποτελεί πλατφόρμα ηλεκτρονικού εμπορίου. Δεν θα βρείτε καλάθι αγορών, ροή ολοκλήρωσης αγοράς ή επεξεργασία πληρωμών. Συνδυάστε το με το Shopify, το Saleor ή το Medusa για το συναλλακτικό επίπεδο.
Μπορώ να χρησιμοποιήσω το Directus με το Next.js;
Ναι. Εγκαταστήστε το πακέτο @directus/sdk, δημιουργήστε έναν client που να δείχνει στο Directus instance σας και ανακτήστε δεδομένα στα Server Components χρησιμοποιώντας τη readItems(). Το Directus επιστρέφει απλό JSON, οπότε δεν απαιτούνται React components συγκεκριμένα για κάποιον vendor. Η ίδια προσέγγιση λειτουργεί με οποιοδήποτε JavaScript framework, συμπεριλαμβανομένων των Astro, Nuxt και SvelteKit.
Υποστηρίζει το Directus τη συνεργατική επεξεργασία;
Ναι, από την έκδοση 11.15 (Φεβρουάριος 2026). Το Directus διαθέτει εγγενή συνεργατική επεξεργασία με ζωντανούς δείκτες παρουσίας που εμφανίζουν ποιος επεξεργάζεται τι, καθώς και κλείδωμα σε επίπεδο πεδίου για την αποφυγή συγκρούσεων. Πρόκειται για ενσωματωμένη λειτουργία, όχι για πρόσθετο. Σε συνδυασμό με τις καθολικές πρόχειρες εκδόσεις στην έκδοση 11.16, οι ομάδες μπορούν να προετοιμάζουν και να προεπισκοπούν τις αλλαγές πριν από τη δημοσίευση.
Τι είναι ο διακομιστής MCP του Directus;
Το Directus εισήγαγε έναν εγγενή διακομιστή Model Context Protocol στην έκδοση v11.13 (Νοέμβριος 2025). Το MCP επιτρέπει σε εργαλεία τεχνητής νοημοσύνης όπως το Claude και το ChatGPT να αλληλεπιδρούν απευθείας με το περιεχόμενο του Directus σας, διαβάζοντας, δημιουργώντας και ενημερώνοντας στοιχεία μέσω φυσικής γλώσσας. Ο διακομιστής MCP σέβεται τα υπάρχοντα δικαιώματα RBAC σας, ώστε η πρόσβαση της τεχνητής νοημοσύνης να ακολουθεί τους ίδιους κανόνες με τους ανθρώπινους χρήστες.