-
Notifications
You must be signed in to change notification settings - Fork 6
Home
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.
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 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.
- 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-migratethendb-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.
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.
Releases
Start here
- Approval by configuration
- Configuring email
- Delivering a client project on barakoCMS
- Deploying barakoCMS on a VM
- Deploying barakoCMS on a managed platform
- Upgrading from 3.x to 4.0
- Your first module
Content
- Content type blueprints
- Choice fields
- Pushing entries to a collection
- Collections filled from outside
- Public delivery API
- Event-sourced content types
- Field hints, sections and roles
- File fields
- Image variants
- Money fields
- Scheduling publish, unpublish and sensitivity
- SEO fields
- Site settings
- Token fields
- Uniqueness rules
- URL redirects
Security and access
- Security and compliance posture
- Scanning uploads for malware
- Where the admin keeps your session, and why
Tenancy
Operations
- Background jobs
- Backup and restore
- Connectors
- Inbound idempotency
- Migrations
- Reporting which modules an instance runs
- Webhooks
- Workflow runs and how long they are kept
Other