Docs
ModulaCMS Documentation
ModulaCMS is a headless CMS that ships as a single Go binary with a REST API, web admin panel, and SSH terminal UI.
Quick Start
modula init # Create a project in the current directory
modula serve # Start the server
Open http://localhost:8080/admin/ for the admin panel, or ssh localhost -p 2233 for the terminal UI.
The Journey
Getting Started
Install ModulaCMS and create your first project.
- Installation -- build options, Docker, database backends
- Your First Project -- init, serve, and connect
- Configuration -- all
modula.config.jsonfields
Building Content
Define your content model, organize it into trees, and serve it to your frontend.
- Content Modeling -- design datatypes and fields
- Content Trees -- create, move, and reorder hierarchical content
- Routing -- map URL slugs to content
- Media Management -- upload files and serve responsive images
Custom Admin
Build your own admin experience using the CMS to manage your admin interface.
Extending
Add custom functionality with Lua plugins.
- Overview -- what plugins can do
- Tutorial -- build a bookmarks plugin from scratch
- Lua API Reference -- every function and parameter
- Examples -- complete working plugins
Concepts
Deep dives into how ModulaCMS models data.
SDKs
Client libraries for consuming the ModulaCMS API. See the SDK overview for a comparison.
- Go SDK --
import modulacms "github.com/hegner123/modulacms/sdks/go" - TypeScript SDK --
@modulacms/sdkand@modulacms/admin-sdk - Swift SDK -- SPM package for iOS 16+, macOS 13+
API Reference
- REST API -- endpoints, authentication, pagination, output formats
Deployment
Reference
- Glossary
- Troubleshooting
- Philosophy -- performance, flexibility, transparency