📍 المقالة الرئيسية: Directus 2026.
ثلاثون دقيقة لتحويل VPS فارغ إلى خادم Directus عملي.
المتطلبات
Hetzner CX22 minimum (Postgres + Directus + MinIO مريحون). Coolify v4. اسم نطاق DNS A: cms.votre-entreprise.com. المستوى: متوسط. الوقت: 30-45 دقيقة.
الخطوة 1 — DNS
dig +short cms.votre-entreprise.com
الخطوة 2 — خدمة Directus في Coolify
Resources → + New → Service → ابحث عن «Directus». Coolify ينشر القالب الرسمي مع Postgres 16.
الخطوة 3 — متغيرات البيئة
KEY=générer-uuid-v4
SECRET=générer-32-octets-base64
ADMIN_EMAIL=admin@votre-entreprise.com
ADMIN_PASSWORD=mot-de-passe-très-fort
DB_CLIENT=pg
DB_HOST=directus-db
DB_PORT=5432
DB_DATABASE=directus
DB_USER=directus
DB_PASSWORD=fort
PUBLIC_URL=https://cms.votre-entreprise.com
CACHE_ENABLED=true
CACHE_STORE=redis
REDIS=redis://directus-redis:6379
STORAGE_LOCATIONS=local,s3
STORAGE_S3_DRIVER=s3
STORAGE_S3_KEY=...
STORAGE_S3_SECRET=...
STORAGE_S3_BUCKET=directus
STORAGE_S3_ENDPOINT=https://minio.votre-entreprise.com
الخطوة 4 — النطاق HTTPS
تبويب Domains: https://cms.votre-entreprise.com. Force HTTPS.
الخطوة 5 — إطلاق Deploy
Coolify يسحب directus/directus + postgres + redis. احسب 3 دقائق.
الخطوة 6 — أول login Studio
افتح https://cms.votre-entreprise.com/admin. أدخل email/password admin.
الخطوة 7 — أول collection
Settings → Data Model → Create Collection. مثال «Articles»:
- title (Input، required).
- slug (Input، unique).
- content (WYSIWYG).
- status (Select: draft/published).
- author (Many to One → directus_users).
- cover_image (Image).
الخطوة 8 — أول item
Sidebar → Articles → Create. أدخل البيانات. Save.
الخطوة 9 — اختبار API REST
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://cms.votre-entreprise.com/items/articles
الخطوة 10 — تكوين صلاحيات Public
Settings → Access Control → Public → Articles. فعّل Read.
curl https://cms.votre-entreprise.com/items/articles
# يجب أن يعيد دون token
الخطوة 11 — النسخ الاحتياطية
docker exec directus-db pg_dump -U directus directus | gzip > /tmp/dir-pg.gz
mc mirror minio-prod/directus /backup/directus-files/
restic backup /tmp/dir-pg.gz /backup/directus-files
الأخطاء الشائعة
| الخطأ | الحل |
|---|---|
| Studio crash login | SECRET قصير |
| S3 upload يفشل | Endpoint slash نهائي |
| API 403 على public | Public role: Read |
| بطيء جداً | CACHE_ENABLED=true |
التكيف مع السياق
Hetzner Storage Box للملفات الكبيرة. Multilingue: Directus translations FR/AR/EN. Editor permissions: التحرير فقط، أبداً delete.
دروس الإخوة
الأسئلة المتكررة
Directus Cloud أو self-hosted؟ Self-hosted مجاني كامل.
Postgres أو MySQL؟ Postgres موصى به.