Ulbora CMS is a self-contained, database-free content management system written in Go that stores content as JSON files and in memory, with single-binary backup and multi-template support.
What is Ulbora CMS?
Ulbora CMS is a self-contained content management system written in Go (Golang) that requires no external database. It stores content in a JSON datastore, saving data both as .json files and in memory, and offers a single binary backup file that bundles content, images, and templates. The project is open source under the MIT license and is maintained by Ulbora on GitHub. It also includes a built-in mail sender.
Key Features
- No-database architecture — Content persists in JSON files and in-memory, eliminating the need for a separate database server.
- Single-binary backups — Export and import a binary backup file that contains all content, images, and templates for easy portability.
- Multi-template support — Build multiple templates and switch between them directly through the administration screen.
- tar.gz template installation — Install new templates by uploading a tar.gz archive via the admin interface.
- Built-in mail sender — Send emails from the CMS without an external SMTP setup.
- Docker container — Official Docker image available on Docker Hub as ulboralabs/ulboracms.
- MIT license — Freely usable, modifiable, and distributable.
Who is it for?
- Developers — who want a lightweight, embeddable CMS with no database dependency for small to medium projects.
- Site administrators — who need to switch templates or restore backups without database administration.
- Self-hosters — who prefer a portable CMS that can run from a single binary and be backed up as one file.
Use cases
- Personal websites: Set up a blog or portfolio site without provisioning a database server.
- Development environments: Use as a reference implementation for Go-based content management and JSON datastore patterns.
- Rapid prototyping: Quickly deploy a CMS in a container for demos or internal tools.
How does Ulbora CMS work?
Ulbora CMS runs as a Go web application. Content is entered through an administration interface, stored as JSON files and in memory, and rendered through user-selectable templates. Backups are created as a single binary file that can be downloaded and re-uploaded; templates are added by zipping them as tar.gz and uploading through the admin screen.
FAQ
Does Ulbora CMS require a database?
No. Ulbora CMS uses a JSON datastore, saving content in both JSON files and memory, so there is no need to install or configure a separate database server.
How do I install a new template?
Templates are installed by compressing them into a tar.gz file and uploading the archive through the administration screen. Once uploaded, you can switch between templates from the admin interface.
Is Ulbora CMS free?
Yes, Ulbora CMS is released under the MIT license, which permits free use, modification, and distribution.
Can I back up my site's content and templates?
Yes, the CMS allows you to download a single binary backup file that contains content, images, and templates. You can also upload that file to restore your site.








