AgencyOS is an open-source boilerplate for digital agencies that combines a Nuxt 3 frontend with a Directus backend to deliver a complete agency website, CRM, project tracker, and client portal out of the box.
What is AgencyOS?
AgencyOS is a full-stack project template created by Bryant Gillespie and supported by Directus and NuxtLabs. It pairs a Nuxt 3 website/application with a Directus headless CMS backend, outputting a customizable agency management platform. To run it, you need a Directus instance (self-hosted via the provided docker-compose.yaml or on Directus Cloud), an admin static token, and environment variables for the Directus URL and token; the result is a live site at localhost:3000 during development. The project is tested against PostgreSQL and is free and open source.
Key Features
- Dynamic page builder — Build pages without touching code using Directus as the CMS, with live preview and a customizable page structure.
- CRM and project tracker — Manage organizations, contacts, sales pipeline, activities, projects, and tasks from a single no-code admin interface.
- Client portal — A private, authenticated area where clients can view their projects, tasks, and files, and pay invoices through Stripe.
- Invoicing and expense tracking — Create and send invoices, track expenses, and accept payments via the Stripe integration in the portal.
- SEO and performance ready — Includes meta tags, sitemap, redirects, JSON-LD, dynamic OG image generation, and global search.
- Dark mode and theming — Full dark mode support and a themeable config file for easy brand customization.
- Form builder — Generate forms with validation using FormKit, integrated with Directus.
- Tech stack — Built with Nuxt 3, Tailwind CSS, Nuxt UI, Headless UI, and VueUse; backend uses Directus Flows for automation.
Who is it for?
- Digital agencies — Use it as a replacement for scattered tools: one system for website, CRM, projects, and client communication.
- Freelancers and small studios — Start an agency with a ready-made client portal and invoicing without building from scratch.
- Nuxt and Directus developers — Use it as a reference implementation or foundation for custom client projects, fully hackable and open source.
What can you do with AgencyOS?
- Agency owners: stand up a marketing site with a blog and then manage leads, projects, and invoices from the same Directus-backed system.
- Project managers: track tasks, assign deliverables to clients, and keep a sales pipeline with the built-in CRM.
- Client-facing teams: give clients a self-serve portal where they can view files, get status updates, and pay through Stripe.
- Developers: extend the platform using Directus Flows to automate notifications, invoicing, or other agency workflows.
How does AgencyOS work?
To get started, create a Directus project (either on Directus Cloud in about 90 seconds or locally with the included docker-compose.yaml), then generate a static token for your admin user. Apply the AgencyOS template with npx directus-template-cli@latest apply, choosing the Agency OS template and pasting your Directus URL and token. Then clone the repo, rename env.example to .env with your Directus URL and token, run pnpm i, pnpm dev, and the app runs at http://localhost:3000.
Pricing
AgencyOS is free and open source. The backend can be self-hosted at no cost with Docker, or you can use Directus Cloud, which offers a 14-day free trial before requiring a paid plan. For self-hosted production use, Directus offers Enterprise Self-Hosted licenses; community support is not provided for self-hosted instances without an Enterprise license.
FAQ
Is AgencyOS free?
Yes, AgencyOS is a free, open-source community release. You can self-host the Directus backend with Docker at no cost, or sign up for Directus Cloud, which starts with a 14-day free trial.
Do I need a Directus instance?
Yes, the backend and API are powered by Directus. You can create a Directus Cloud project or run the provided docker-compose.yaml locally. PostgreSQL is the tested and preferred database.
Can I deploy AgencyOS to Netlify?
Netlify has a one-click deploy option, but Vercel is the recommended target because of memory issues with the Netlify build process. The Nuxt frontend can deploy to any provider supported by Nuxt.
How do clients make payments?
The client portal includes Stripe integration. Clients can pay invoices directly through the portal once you add your Stripe keys (secret, publishable, and webhook secret) to the environment variables.





