Repository navigation
Home
Claude edited this page Oct 23, 2026
·
11 revisions
A lightweight content management system built with Go, featuring a modern admin interface, session-based authentication, SQLite storage, and extensible architecture with themes and modules.
- Page Management — Create, edit, publish, and version pages with a rich content editor
- Scheduled Publishing — Schedule pages to publish at a future date/time
- Media Library — Upload and manage images, documents, and videos with automatic processing
- Menu Builder — Create navigation menus with drag-and-drop ordering
- Full-Text Search — Built-in SQLite FTS5 search for fast content discovery
- Categories — Organize content with hierarchical categories
- Tags — Add flat taxonomy tags to pages
- Form Builder — Create contact forms, surveys, and data collection forms
- Multiple field types, submissions management, email notifications
- Multiple themes with settings, template overrides, static assets, and widget areas
- Admin import of
.tar.gzHTML themes and deletion of inactive custom themes without a restart - Bundled Tiny Sample archive for trying theme import and activation
- Internationalization support for theme translations
- Extensible plugin architecture with lifecycle hooks, migrations, and i18n
- Built-in modules: Sentinel, Developer, DB Manager, Migrator, Informer, Demo Mode, Internal Analytics, External Analytics, Privacy, Embed, MCP Server
- Full CRUD API for pages, media, tags, and categories
- API key authentication with fine-grained permissions and rate limiting
- Meta tags, Open Graph, Twitter Cards, auto-generated sitemap, and robots.txt
- RSS 2.0 and Atom 1.0 subscriptions for published posts, by site, category or tag, in every active language
- Content translation, language-prefixed URLs, RTL support, admin UI localization
- Event-driven webhooks with HMAC signatures, retry logic, and delivery tracking
- JSON and ZIP export/import with conflict resolution and dry run mode
- In-memory caching of site config, menus, languages, sitemaps and pages (an optional Redis connection is not used by the caches yet; see Caching)
- CSRF protection, Argon2id password hashing, rate limiting, hCaptcha integration
- Account Dashboard for signed-in users, with private account details and the shared admin layout
| Topic | Description |
|---|---|
| Getting Started | Prerequisites, installation, and quick start guide |
| Configuration | Environment variables reference |
| Docker | Docker and Docker Compose setup |
| Account Dashboard | Read-only account overview, login destinations and account navigation |
| REST API | API endpoints and authentication |
| Feeds | Public RSS/Atom endpoints, summaries and HTTP revalidation |
| Theme System | Creating and customizing themes |
| Module System | Building custom modules |
| Deployment | Production deployment guides |
| Security | Security features and policies |
| Contributing | How to contribute to oCMS |
- Backend: Go 1.27.3+
- Database: SQLite with goose migrations
- SQL: Type-safe queries with sqlc
- Templates: templ for type-safe HTML
- Frontend: HTMX + Alpine.js
- Rich Text Editor: TinyMCE
- Styling: Custom SCSS framework
- Authentication: Secure sessions with Argon2id password hashing
- Containerization: Docker with multi-stage builds
Copyright (C) 2025-2026 Oleg Ivanchenko
GNU General Public License v3.0 — see LICENSE for details.
Getting Started
Core Features
- Content Management
- Media Library
- Taxonomy
- Menu Builder
- Forms
- Multi-Language
- SEO
- Feeds
- Video Embedding
- Agent-Ready
Administration
API & Integrations
Security
Theme Development
Module Development
Built-in Modules
- Module: Sentinel
- Module: Developer
- Module: DB Manager
- Module: Migrator
- Module: Informer
- Module: Demo Mode
- Module: Internal Analytics
- Module: External Analytics
- Module: Privacy
- Module: Embed
- Module: MCP Server
Deployment