A modern, flat-file Content Management System for PHP
Website • Documentation • Pricing
Total CMS is a powerful content management system built on PHP 8.2+ and the Slim 4 framework. It uses flat-file JSON storage instead of a traditional database, making it simple to deploy and maintain.
- No database required — content is stored as JSON files
- 13 built-in collection types — blog, image, gallery, file, and more
- Custom collections — define your own content types with JSON schemas
- Twig templating — with 40+ custom filters and functions
- RESTful API — full CRUD with authentication
- Admin interface — form builder, data tables, media management
- CLI tools — manage content, run imports, and clear caches from the terminal
- PHP 8.2+
- Composer 2.0+
- Apache or Nginx with URL rewriting
- PHP extensions: GD or ImageMagick, JSON, Fileinfo, OpenSSL
composer create-project totalcms/totalcms mysite
cd mysitePoint your web server's document root to the public/tcms/ directory, then navigate to /admin to complete setup.
For detailed installation and web server configuration, see the Installation Guide.
{% set posts = cms.blog() %}
{% for post in posts %}
<article>
<h2>{{ post.title }}</h2>
{{ post.content|markdown }}
</article>
{% endfor %}See the full Twig documentation for available functions, filters, and tags.
Total CMS includes a command-line tool for common tasks:
vendor/bin/tcms cache:clear
vendor/bin/tcms import:csv blog data.csv
vendor/bin/tcms jumpstart:export backup.zipFull documentation is available at docs.totalcms.co.
Total CMS is commercial software. A license is required for production use. See LICENSE.md for terms.
Free 45-day trials are available — no credit card required. Visit totalcms.co for details.