Bolt 4 beta!

An open source, adaptable platform for building and running modern websites. Built on PHP, Symfony and more.


Bolt is a fully open source, adaptable platform for building and running modern websites. It's built on PHP, Symfony, Doctrine, Twig, API-Platform and more. Bolt can be used as a traditional CMS or headless/decoupled. It is fully multilingual, and extensible using custom code in your projects, or through extensions installed from the Composer ecosystem.

Sweet Brown singing "Ain't nobody got time for that"

TL;DR - Installation 🛠⚙️

Don't have time or patience to read about all the features on this page, but just want to install it? We’ve got you covered! By the time Bolt 4 will be a stable release, there will be various ways to install the CMS, but for now, the easiest way is by using the composer create-project command.

composer create-project bolt/project myprojectname

Navigate into the new folder, and run the installation script to set up the first user, and load the fixtures (dummy content):

bin/console bolt:setup

Next, start running Bolt using the built-in webserver, Docker or your own preferred webserver:

bin/console server:start
Finally, open the new installation in a browser. You can find the control panel, by appending /bolt to the URL.
symfony server:start -d
Finally, open the new installation in a browser, using symfony open:local. You can find the control panel, by appending /bolt to the URL.
docker-compose up -d
Finally, open the new installation in a browser. You can find the control panel, by appending /bolt to the URL.

More detailed instructions can be found in the documentation.

Screenshots 🖼

Built on Symfony

Bolt 4 is a PHP application, built on Symfony, and it uses a number of its components and associated third party libraries. This means that any developer with experience in Symfony can hit the ground running with Bolt.

  • Common debug tools on the CLI, using bin/console
  • The powerful Toolbar / Profiler
  • We use the Composer ecosystem for extensions and third-party dependencies
  • Autoloading & Autowiring, also in your own projects
  • The project structure (both of Bolt itself, as well as projects built with Bolt) will be familiar

Bolt is self-hosted. You can develop locally, and then deploy to any production environment, anyway you like.

Standing on the Shoulders of Giants

Internationalisation 🇩🇪🇮🇸🇧🇷

Using Bolt, you can make multilingual sites out of the box. Just configure the languages you need, and which contenttypes and fields are translatable, and you’re good to go. Affengeil!

For the Bolt user interface itself, each user can select their preferred language in which to display the backend. As we get nearer to the Bolt 4.0 stable release, more languages will be added by our contributors.

Mobile / Responsive 🖥📱

Since it’s the year 2020 now, this almost goes without saying: Bolt’s backend works on any modern device, regardless of screen-size. As mentioned before, the frontend is completely agnostic (or even fully detached), so it fits in nicely with your preferred mobile-first workflow.

Headless or Traditional

You can use Bolt 4 either as a Headless / Decoupled CMS, or as a traditional CMS where pages get rendered to HTML by the powerful Twig template layer.

If you wish to have a standalone frontend, you can use Bolt as your CMS and use the built-in JSON API to fetch the content. You can then use this content however you like. Either by integrating into whatever site you’re happening to be building, or by using it as a source for a static site using Gatsby or Gridsome. You can then publish it on Netlify or Github Pages.

If you prefer to build on one platform, Bolt has got your back as well: We’re using Twig as a fast, secure and semantic templating layer, that allows maximum flexibility in your dynamic frontend. Don’t be fooled, though: Just because Bolt’s backend uses Vue and Bootstrap, that doesn’t mean your frontend has to do the same. The frontend theme is completely agnostic from what happens in the backend.

Pretty Fast 🏃‍♀️💨

Bolt is built on Symfony 4, and it is pretty fast! Of course, you can use Bolt to build static websites or shove it behind a proxy, but for most usecases, you really don’t have to. It’s fairly easy to get response times of less than 20 milliseconds.

  • Highly performant Symfony 4 codebase
  • Automatic caching of templates, widgets and images

Contenttypes, Fields & Collections

Bolt structures content in so-called Contenttypes: A contenttype is a definition of what the structure of a specific piece of content is. For example, a “News” contenttype might contain fields for a title, introduction, body text and accompanying image, while a Gallery contenttype would contain a number of different fields to facilitate slideshows, galleries and portfolio items. By structuring your content like this, it helps users to maintain context in all aspects of their work. It’s almost like labeling cans in your cupboard, or using strict typehints in your code. Almost.

Collections put this concept into overdrive. By defining “groups of fields”, you give the editor the freedom to duplicate these sets as needed. You can use this to allow for blocks of content that are both free-form as well as structured.

Open Source 🍺📑

Bolt is fully Open Source. It’s free, it has a permissive MIT License. No hidden “Premium” options or “Pro” versions. Open Source Software is better Software.

Whether you're interested in joining up, or just want to take a peek around, you're always welcome. You can follow the progress of Bolt on: