Skip to content
  • 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.

Get started in minutes Code on GitHub

composer create-project frootbox/skeleton my-website
The demo website Bohnenglück in edit mode: the heading is marked, at the bottom the editor bar with edit, undo and publish
This is what editing looks like: on the page itself, with the editor bar at the bottom.

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.

  1. Switch on editing

    Signed in, you see the editor bar on every page. One switch, and all texts and images are marked.

  2. Type right there, add blocks

    Finished blocks instead of a free page builder. The design stays consistent, whatever you add.

  3. 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

  1. Download the package

    A ZIP with everything Frootbox needs, including vendor/.

  2. Upload it to your web space

    Upload it via FTP and point the domain to the folder public/.

  3. Open the installer in the browser

    Choose a database, create an account, off you go. The installer checks first that everything fits.

To the releases First release coming · signed

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.

See all features

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.

More for developers View the source

blocks/Teaser/views/Default.twig
{# 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.

Frootbox/frootbox on GitHub Report a bug

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.

Example
WebsiteClientStateAction
bohnenglueck.de Bohnenglück GmbH All fine Open
praxis-am-markt.de Praxis am Markt Update available Open
tischlerei-lenz.de Tischlerei Lenz No backup for 3 days Open
stadtfest-online.de Stadtmarketing Cron is not running Open

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.

Install now Code on GitHub