Open Source & MIT Licensed

Headless CMS with Bare Minimalism

A lightweight, open-source content management system designed for developers who value simplicity, performance, and clean APIs.

1.2MB
Docker Image Size
<50ms
API Response Time
MIT
Open Source License
BareCMSbarecms admin
API Endpoint Ready

$Everything you need, nothing you don't

BareCMS focuses on the essentials: fast content management, clean APIs, and simple deployment.

Lightning Fast

Built with Go for maximum performance. API responses in under 50ms with minimal resource usage.

Developer First

Clean REST APIs, comprehensive documentation, and intuitive data structures that just work.

Docker Ready

Deploy anywhere with Docker. One-command setup with Docker Compose for instant productivity.

Secure by Default

JWT authentication, input validation, and security best practices built into the core.

Headless Architecture

Use any frontend framework. React, Vue, Next.js, Nuxt, or static site generators.

Production Ready

Battle-tested in production with PostgreSQL, health checks, and monitoring support.

Simple, predictable APIs

One endpoint gives you all your content. No complex queries, no GraphQL learning curve. Just clean, RESTful APIs that make sense.

Public data access without authentication
Flat data structure for easy consumption
Works with any frontend framework
GET /api/myblog/data
API Response
{
  "id": "44394f36-daa3-451c-970f-59238c46ce36",
  "name": "myblog",
  "slug": "myblog",
  "data": {
    "articles": [
      {
        "content": "this is my article post content",
        "draft": "false",
        "published": "2025-07-21",
        "title": "my sample article"
      }
    ],
    "products": [
      {
        "name": "Sample Product",
        "price": "29.99",
        "description": "A great product for everyone"
      }
    ]
  }
}
Usage Example
const barecmsHost = "http://localhost:8080";

// Fetch all data for a site
async function fetchSiteData(siteSlug) {
  try {
    const url = `${barecmsHost}/api/${siteSlug}/data`;
    const response = await fetch(url);
    const data = await response.json();
    return data;
  } catch (error) {
    console.error("Error fetching site data:", error);
  }
}

// Usage
fetchSiteData("my-blog").then((data) => {
  console.log(data.data.articles); // Access your articles
  console.log(data.data.products); // Access your products
});

Up and running in 2 minutes

Get BareCMS running locally with Docker Compose. No complex setup, no configuration hell.

1

Create project directory

mkdir barecms-app && cd barecms-app
2

Setup environment file

curl -sSL https://raw.githubusercontent.com/snowztech/barecms/main/deploy/.env.template | sed "s/gen_jwt_secret/$(openssl rand -base64 32)/" > .env
3

Download docker-compose.yml

curl -o docker-compose.yml https://raw.githubusercontent.com/snowztech/barecms/main/deploy/docker-compose.yml
4

Launch BareCMS

docker compose up -d
BareCMS running atlocalhost:8080