Noureddine RAMDI / AgencyOS: a self-hosted operating system for digital agencies built on Directus and Nuxt 3

Created Sat, 23 May 2026 20:41:14 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

directus-labs/agency-os

AgencyOS takes a comprehensive approach to solving the operational challenges digital agencies face by building an entire operating system around Directus as a headless CMS and Nuxt 3 as the frontend framework. Instead of cobbling together multiple tools for CRM, invoicing, project tracking, and client portals, it offers a unified, hackable platform designed to be self-hosted and customizable. The project stands out for embedding Stripe payments and Directus Flows for automation, which helps agencies streamline billing and workflows.

agencyos architecture and core functionality

AgencyOS is an open-source operating system tailored for digital agencies, combining a backend powered by Directus and a frontend built with Nuxt 3. The backend leverages Directus as a headless CMS and API layer, managing all data for CRM, project management, invoicing, and client portals. Directus handles the database interactions, user management, and exposes REST and GraphQL APIs.

The frontend is a Nuxt 3 application delivering a dynamic, customizable website and client portal experience. It includes features like live preview for content editing, dark mode, and built-in SEO optimizations. Together, these components create an integrated platform where agencies can manage projects, communicate with clients, track invoices, and even host their public-facing website.

Under the hood, the system is designed to be self-hosted with Docker support for easy deployment. PostgreSQL is the preferred and tested database backend, ensuring reliability and performance for agency workloads. The architecture encourages extensibility, allowing agencies to customize workflows using Directus Flows and tailor the frontend to their branding and needs.

technical strengths and design tradeoffs

One of the key strengths of AgencyOS is its choice to build on Directus, which provides a flexible, schema-driven data layer that can be customized without deep backend coding. This reduces the complexity of building a full agency OS from scratch and leverages Directus’s robust API capabilities.

The Nuxt 3 frontend adds a modern, performant layer with server-side rendering and client-side interactivity, supporting a smooth user experience both for agency staff and clients. Features like live preview and dark mode show attention to developer and end-user experience.

The integration with Stripe payments and Directus Flows for automation means billing and workflow automation are first-class citizens in the platform. This is a practical choice given how critical invoicing and payment collection are for agencies.

The tradeoff lies in the reliance on PostgreSQL, which is tested and preferred but limits database flexibility. Likewise, Docker-based deployment is convenient but may not suit all environments, especially those with strict infrastructure constraints.

Another limitation is the lack of official support for self-hosted Directus instances outside the enterprise license model. This means agencies deploying on their own infrastructure might need to rely on community support.

Overall, the codebase is surprisingly clean for a full-stack platform integrating CMS, payments, and frontend. The architecture balances convention with flexibility, making it suitable for agencies wanting to avoid vendor lock-in while maintaining a modern stack.

quick start with agencyos

There are two main pieces to AgencyOS - the backend and APIs powered by Directus and the frontend website and application powered by Nuxt.

directus - backend + headless cms

1 - Create a Directus project

There are two ways you can quickly setup a Directus project to use for AgencyOS.

1a - Register for a Directus Cloud account

https://directus.cloud/register

This is the easy button. You don’t have to mess with Docker or working out how to deploy a Directus instance at AWS, Digital Ocean, or similar hosts. A couple of clicks and in less than 2 minutes you’ll have a ready to go Directus project.

Directus offers a 14 day free trial for Cloud projects which is plenty of time to give AgencyOS a spin. Note: After the 14 day trial you will need to pay for the service. Consult the Directus pricing page for the latest pricing information.

OR

1b - Self Host a Directus Instance

If you’re prefer to self-host Directus, we highly recommend you do so with Docker.

Important Note: This is a free and open source community release. Therefore, we cannot provide support for self-hosted instances WITHOUT an Enterprise Self-Hosted license or formal support agreement. Learn more and contact our team for details on Enterprise Self-Hosted.

You’ll find a docker-compose.yaml inside the repo that you can use to quickly spin up a local instance of Directus to test with. You should have Docker installed and running on your machine first. You can download it here.

PostgreSQL is the tested and preferred database vendor for this project. The project has been tested and verified to work against the docker-compose.yaml file included in the repo. Directus does support many different SQL database vendors, but we ONLY test this project against PostgreSQL.


# Run docker compose
$ docker compose up

# Docker does it's thing and your Directus project will be available at http://localhost:8055/ or http://0.0.0.0:8055

verdict

AgencyOS is a solid choice for digital agencies wanting to self-host an integrated platform that covers CRM, project management, invoicing, and client portals without vendor lock-in. Its use of Directus as a headless CMS backend combined with a Nuxt 3 frontend creates a modern, customizable stack well suited for agencies with some technical resources.

The tradeoff is the dependency on PostgreSQL and Docker-based deployment, which might not fit all infrastructure preferences. Also, official support for self-hosted Directus is limited to enterprise customers, so smaller teams must rely on community support.

If your agency values control, customization, and an all-in-one solution built on open source, AgencyOS is worth exploring. It’s especially relevant if you already use or are comfortable with Directus and modern JavaScript frameworks like Nuxt.

That said, it’s not a turnkey SaaS replacement — expect to invest time in setup, customization, and maintenance. But for teams willing to do that, AgencyOS offers a comprehensive foundation to run agency operations under one roof.


→ GitHub Repo: directus-labs/agency-os ⭐ 941 · Vue