Store once. Reflected everywhere.

Content Delivery Platform for engineering teams. Documentation, APIs, and dynamic content from a single source of truth. No databases. No JavaScript. Pure Lua on OpenResty.

→ Get Started Learn More

The Problem You Face

📁 Content Scattered Everywhere

Your documentation lives in GitHub. Legal pages are in your CMS. Help content is hardcoded in the app. No single source of truth.

🔄 Constant Sync Issues

Update docs? Update the website. Update the API response. Update the mobile app. Edit in three places, test in three places, deploy three times.

⚙️ Heavy Infrastructure

WordPress needs a database. Strapi needs Node.js. Contentful needs a SaaS subscription. You just want simple Markdown and a REST API.

⏱️ Build Step Overhead

Every documentation update requires a rebuild. Static site generators are slow. You need live content updates without waiting.

🔐 No API-First Approach

Most CMS systems are built for websites. You need content served as JSON to your backend, mobile apps, and internal tools.

💸 Expensive Licensing

Enterprise content platforms cost thousands per month. You're a small team. You shouldn't need to break the bank.

One API. All Your Content.

We rebuilt the CMS from the ground up for engineering teams. Single source of truth for documentation, legal pages, help content, and dynamic text. Edit once. Deploy everywhere.

  • 📝 Live Markdown editing (no build step)
  • 🔌 REST API for all content
  • ⚡ Pure Lua — zero external dependencies
  • 🗄️ No database required
  • 🚀 Runs on OpenResty/nginx (you already use it)
  • 🔍 Built-in full-text search
  • 📱 Auto-generated sitemap & SEO tags
  • 👥 Team collaboration with admin panel

📊 Visual: API Architecture Diagram

┌─────────────────────────┐
│  Admin Panel (Live Edit)│
└────────────┬────────────┘
             │ Update content
             ▼
┌─────────────────────────┐
│  Lucretia Core     │
│  (Pure Lua)             │
└────┬────────────────┬───┘
     │                │
     ▼                ▼
┌──────────┐   ┌──────────────┐
│   HTML   │   │  JSON API    │
│(Website) │   │(Your Apps)   │
└──────────┘   └──────────────┘

Built for Engineering Teams

📖

Live Markdown Rendering

Edit Markdown in the admin panel. See changes instantly. No rebuild. No deploy. Just hit save.

🔌

REST API for Everything

Get your content as JSON. Build custom UIs. Sync with mobile apps. Integrate anywhere.

🛠️

Zero Dependencies

Pure Lua. No Node.js. No Python. No Java. Just OpenResty (which you already run).

Blazing Fast

Rendered in Lua. Cached intelligently. Serve thousands of requests per second on a single server.

🔍

Full-Text Search

Built-in search engine. Index all content. Fast relevance ranking. No Elasticsearch needed.

📱

Auto SEO & Sitemap

Automatic sitemap.xml generation. Meta tags. Open Graph. Everything Google needs.

👥

Team Admin Panel

Intuitive file-manager-like UI. Edit categories. Manage posts. Version history. Draft/publish states.

🔐

Enterprise Ready

SSO integration. Role-based access. Audit logs. API rate limiting. Multi-tenant support.

📦

Self-Hosted

Deploy anywhere. Docker container. Kubernetes. Your laptop. Total control. Your data.

How Teams Use It

🏢 SaaS Documentation

Use: Host technical docs + API reference on one platform. Serve both HTML (for humans) and JSON (for SDK autogeneration).

📱 Mobile App Content

Use: Store "About Us", "Terms", "Help" content in one place. Fetch via API at runtime. Update without app release.

⚖️ Legal & Compliance

Use: Single source for Terms of Service, Privacy Policy, Cookie Policy. Embed on website. Serve to mobile apps. Track versions.

🛒 E-Commerce Product Pages

Use: Rich product descriptions. Serve to web + mobile. SEO-friendly HTML. API for apps.

📚 Knowledge Base

Use: Internal wiki for your team. Customer-facing FAQ. Full-text search. No database required.

🔧 Microservice Documentation

Use: Each service has its own content API. Federated documentation. Real-time updates across all services.

How It Compares

Feature Lucretia Strapi Contentful MkDocs WordPress
Live Editing
REST API
No Database
Zero Dependencies (Node.js) (SaaS) (Python) (PHP + MySQL)
Runs on nginx/OpenResty
Full-Text Search (add-on) (add-on)
SEO Auto-Generation
Admin Panel
Self-Hosted Cost Free Free $$$ Free Free*
Hosting Complexity Simple Complex N/A (SaaS) Simple Medium

Under the Hood

Tech Stack

Pure Lua on OpenResty. No external runtime required.

  • Markdown Parser: Custom C binding (v3)
  • Full-Text Search: Native Lua implementation
  • Caching: Intelligent in-memory caching
  • Storage: Filesystem-based (Git-friendly)
  • API: RESTful JSON responses

API Example

GET /api/v1/pages/about?format=json

{
  "id": "about",
  "title": "About Us",
  "content": "...",
  "html": "<h1>About Us</h1>...",
  "meta": {
    "updated_at": "2026-06-18T...",
    "version": 2
  }
}

Frequently Asked Questions

What is a "Headless" CMS?

A headless CMS is a backend-only content management system. It acts as a content repository, making content accessible via a REST API for display on any device or frontend, without being tied to a specific website theme or template.

Why use this instead of a database?

For simple text-based content (docs, legal pages, help articles), a full database is overkill. Our file-based storage is Git-friendly, has zero latency for reads, and eliminates the complexity of managing a separate DB server.

How does the API work?

Simply make a GET request to `/api/v1/pages/{slug}`. You can specify `?format=json` for raw data or `?format=html` for rendered content. The response includes the content, metadata (like last updated date), and SEO tags.

Is it really dependency-free?

Yes. The core is written in pure Lua. The only external dependency is OpenResty itself, which provides the Nginx and LuaJIT environment. No Node.js, Python, or Java runtimes are required.