Headless but not brainless

Directus gives you a backend that is perfect for Headless CMS use cases but also everything beyond. Authentication, user permissions.

Github Admin
hero default

Frequently Asked Questions

DirectCMS is a Directus-based Content Management System (CMS) designed to be a lightweight, flexible, and scalable alternative to WordPress. It combines the power of a headless CMS with a built-in frontend, making it easy to manage and display content.

Feature DirectCMS WordPress
Backend Directus Headless CMS Traditional CMS
Frontend Customizable with any framework Tightly coupled with PHP & themes
Performance API-driven, lightweight Can be bloated with plugins
Flexibility Supports Angular, React, Svelte, etc. Primarily PHP-based
Customization Uses Blocks & Directus APIs Uses Themes & Plugins
Storage Supports SQLite, PostgreSQL, MySQL Uses MySQL by default

DirectCMS provides more flexibility for developers while keeping content management simple.

Adding a custom template to DirectCMS is simple and fast. Follow these steps:

  1. Break Your Template into Blocks

    • Identify different sections of your template (e.g., Header, Hero Section, About, Services, Footer).
    • Each section becomes a block that can be reused dynamically.
  2. Add Blocks to Directus Data Models

    • Go to Directus Admin PanelData Models.
    • Create a new collection for each block (e.g., hero_section, about_section).
    • Define fields like title, description, image, buttons, etc.

  3. Add Blocks to your code in /web/views/blocks folder
    • Simple .ejs files

DirectCMS follows a structured directory setup:

  • /web → Contains the Landing Website Code (Frontend).
  • /app → Custom app code (e.g., Angular/React/Svelte dist folder).
  • /admin → Directus Admin Panel for managing content.

You can easily modify and extend each part to fit your needs.

You can use your own templates in DirectCMS by creating blocks inside /web/views/block/*.ejs files.

Steps to Add Your Template:

  1. Break your template into blocks

    • Identify sections like header, hero, about, services, footer.
    • Each section should be treated as a block.
  2. Create blocks inside DirectCMS

    • Add your EJS files inside views/block/
    • Define the structure using HTML & variables
  3. Manage content via Directus

    • Create a new collection in Directus (e.g., hero_section).
    • Add fields for text, images, buttons, etc.
  4. Fetch and Render

    • Use Directus REST/GraphQL API to fetch data.
    • Render the content dynamically in your frontend.

This allows for fast, modular, and reusable components, similar to WordPress page builders but without unnecessary overhead.

Yes! DirectCMS is frontend-agnostic. You can integrate any framework inside the /app directory.

Steps to Add a Custom Frontend App:

  1. Build your app (e.g., Angular, React, Svelte, Vue).
    bash
    npm run build
  2. Copy the dist folder to /app.
  3. Update routing to serve the frontend from /app.
  4. Done! Your app will now work with DirectCMS.

*Coming Soon *
Yes! DirectCMS fully supports multi-language content. You can:

  • Use Directus localization features to manage translations.
  • Store multilingual content inside Directus collections.
  • Use API filters to fetch language-specific data dynamically.

Yes! DirectCMS is open-source under the MIT License. You can freely use, modify, and distribute it.

However, DirectCMS relies on Directus, which has its own licensing. Check more at:
🔗 https://directus.io/pricing/self-hosted

DirectCMS supports multiple storage options:

  • Local Storage (Default)
  • Supabase S3
  • Amazon S3
  • Cloudinary (via Directus extensions)

You can configure storage inside the Directus settings.

Got a 👾 project in mind? Let's work together. ✌️

We bring rapid solutions to make the life of my clients easier. Have any questions? Reach out to us and We will get back to you shortly.