Skip to content
Arnel Robles edited this page Oct 4, 2026 · 6 revisions

barakoCMS wiki

barakoCMS is a headless CMS for .NET 10: FastEndpoints over Marten and Postgres, shipped as a core API plus optional modules as NuGet packages. This repository is the API, its own surface is Swagger, and the admin console is a separate project.

Fastest path to a running instance

There is a ready compose in quickstart/. Prebuilt images, no .NET toolchain, no build step.

git clone https://github.com/BaryoDev/barakoCMS.git
cd barakoCMS/quickstart
cp .env.example .env
# edit .env, at minimum: DB_PASSWORD, JWT_KEY (32+ characters), ADMIN_PASSWORD
docker compose up -d
URL
API http://localhost:5005
Health http://localhost:5005/health
Swagger http://localhost:5005/swagger, once SWAGGER_ENABLED=true

Sign in with the ADMIN_USERNAME / ADMIN_PASSWORD you set. Postgres comes up with it on a persistent volume, and every module is already in the image: each one stays off or on a safe mock until you supply its keys, so an empty-but-valid .env boots a working CMS.

The full walkthrough, module blocks and going behind a domain, is in the repository: quickstart/README.md. Every setting is in Configuration.

The console

The admin console is barakoBrew, its own repository on its own release cadence. It runs this same API image and puts ghcr.io/baryodev/barako-brew (also pushed as barako-admin) in front of it. Start there if you want screens instead of Swagger. barakoBrew 1.7.0 accepts API contract versions 1 to 6 and barakoCMS 4.6.0 answers 6, so the two pair. barakoBrew's pull request CI runs against API 4.4.1 and its nightly against master. Its README has the full table of which console works with which API.

Pages

  • Configuration - environment variables and settings, what each one changes.
  • HTTP-surface - the routes, the JSON, the status codes, and what counts as a breaking change to them.
  • Docs - the feature and operations docs that are published here, generated from docs/ in the repository.
  • Upgrading to 4.6.0 - the release notes open with the steps: deploy barakoBrew 1.7.0 and barakoPress 0.11.0 first, stop the API, run db-migrate then db-assert, start 4.6.0. migrations explains the ledger.
  • barakoCMS 4.0 - what changed in 4.0, the integration builder, capability-based authorization, the split of the console into barakoBrew, known issues, and moving from 3.x.

What this is not

Not a renderer. barakoCMS renders no pages. barakoPress is the renderer for barakoCMS sites: pages from blocks, collections and docs trees, cached until the CMS says otherwise. Or build your own site and read content over the anonymous delivery API (GET /api/public/{type}), which serves only content types that opted in. The console, barakoBrew, is in its own repository too.

Not a service. You own it and run it where you choose. Nothing is metered per seat, record or environment. There is no barakoCMS service: you run the process, you own the database, you choose the region, you hold the backups.

Clone this wiki locally