- Open source · MIT
- Frootbox 2 · in development
The CMS that just works.
Frootbox is a content management system in PHP. Editors work right on the website, developers hit no limits. And it runs on any ordinary web space.
composer create-project frootbox/skeleton my-website

-
Runs on ordinary web space
PHP and a database. No Node, no build chain, no background processes.
-
Fully usable without AI
AI is a shortcut, not a must. Without a provider it stays hidden.
-
Free under MIT
Core, modules and themes. Your website is yours, no account needed.
That’s how easy it is
Open the page, type, publish.
No maze of forms in the backend. Whoever knows the website can edit it. Every step can be undone.
-
Switch on editing
Signed in, you see the editor bar on every page. One switch, and all texts and images are marked.
-
Type right there, add blocks
Finished blocks instead of a free page builder. The design stays consistent, whatever you add.
-
Publish when it’s ready
Everything goes into a draft first, suggestions of the AI too. Visitors see changes only once you release them, scheduled if you like.
Install
Online in a few minutes.
Upload, open the installer, done. If you prefer Composer, you need three commands.
- PHP 8.5 or newer
- MySQL 8, MariaDB 10.11 or simply SQLite
- A cron job for scheduling, optional
Web space
-
Download the package
A ZIP with everything Frootbox needs, including
vendor/. -
Upload it to your web space
Upload it via FTP and point the domain to the folder
public/. -
Open the installer in the browser
Choose a database, create an account, off you go. The installer checks first that everything fits.
Composer
$ composer create-project frootbox/skeleton my-website
$ cd my-website
$ php bin/frootbox install
✓ Database set up (SQLite)
✓ Migrations run
✓ Superuser created
Done. Backend: /cms
Locally with composer serve on http://localhost:8000. Live the same, just without the development mode.
Features
Everything a good website needs.
And nothing that gets in the way. Standards like performance, SEO and accessibility are not an extra, they are always on.
-
Blocks, not a page builder
Finished elements that editors arrange. The layout never breaks.
-
Drafts and versions
Every change goes into a draft, every version is kept. Everything can be undone.
-
Multilingual at the core
A prefix or a domain per language, translated addresses, a fallback language.
-
Roles and permissions
Roles you define yourself, per branch of the site if you like. The AI acts only with your permissions.
-
REST API and MCP
Every action is available through the API and to AI agents automatically, with an OpenAPI description.
-
AI if you want it
Draft, translate, organise texts. Through the same actions and always as a draft first.
-
Fast and easy to find
Full-page cache, a clean outline, automatic redirects when addresses change.
-
Accessible out of the box
The core works out heading levels, no option can break the outline.
For developers
A block is a folder. That’s it.
The schema sits at the top of the view, Twig does the rest. Save, F5, done. Everything is an extension, the core too.
- One action, many ways: interface, REST API, MCP, AI and app use the same actions.
- PSR instead of a framework: a lean base, Doctrine DBAL, Twig, PHP-DI.
- Checked: PHPStan at the highest level, tests against MySQL, MariaDB and SQLite.
{# frootbox
title: Teaser
description: Image with heading and link
fields:
title: { type: headline, label: Heading }
text: { type: richtext, label: Text }
link: { type: link, label: Link }
#}
<article class="teaser">
{{ heading('title', 0) }}
{{ field('text') }}
{{ field('link') }}
</article>
Open Source
Built in the open. Free for everyone.
Core, official modules, themes and tools are under MIT. Every website runs fully without frootbox.de, without telemetry and without an account. Roadmap and decisions are public.
- for everything in the repository
- MIT
- databases: MySQL, MariaDB and SQLite
- 3
- PHP from this version, nothing else
- 8.5
- data sent to us without your consent
- 0
More with frootbox.de
Marketplace and agency area.
Voluntary and separable at any time. For everyone looking for extensions or looking after many websites.
-
Marketplace
Find extensions and themes. Licences arrive through the connection, no keys to type.
-
Updates without Composer
The package service builds a signed update for your website. Even without an account.
Agency area
All the websites you look after at a glance, with one sign-in.
| Website | Client | State | Action |
|---|---|---|---|
| bohnenglueck.de | Bohnenglück GmbH | All fine | |
| praxis-am-markt.de | Praxis am Markt | Update available | |
| tischlerei-lenz.de | Tischlerei Lenz | No backup for 3 days | |
| stadtfest-online.de | Stadtmarketing | Cron is not running |
Only technology, no content: frootbox.de sees versions, updates, backups and cron, but never your data. Hosted in the EU.
Try it out.
The demo website Bohnenglück comes installed, in German and English. So you see right away how everything fits together.