Introducing CockpitCMS - a CMS for Developers

Originally published at:

In this tutorial, we will see how to use Cockpit CMS to setup a CMS backend and to use the API interface provided by Cockpit to build a customized functional frontend.

Not quite like other “heavy weight”, or “fully fledged” CMS’, Cockpit is light weight and “bare”. It only provides a backend to manage meta-data and data entries, whilst the frontend is all in the developer’s hands.


A copy of Cockpit CMS can be downloaded here in zip form. After downloading, just unzip the archive to a directory on your web server that is accessible. In my case, it is mapped to: http://vagrant/cockpit.

Next, visit the installation page: http://vagrant/cockpit/install to start the installation process.

NOTE: Cockpit uses SQLite as its database engine by default. If you have not installed SQLite yet, please do so before the installation.

NOTE: Cockpit also requires that its /storage/data directory be writable. Please change the mode of that directory accordingly.

The installation is just one click. When the installation is complete, you will be greeted with this page:

Now we can log in with admin/admin and the backend administration dashboard page will be shown:

Well, we don’t have anything set up yet. Before we create our own content, let’s learn about a few key modules in Cockpit.

Modules in Cockpit

The two most important modules in Cockpit are: Collections and Galleries.

Continue reading this article on SitePoint

Thank you for introducing and presenting Cockpit. I’m the creator and developer of the project.

I have some additional notes to the article:

I agree with the statement that Cockpit is very developer centric. But with that comes great flexibility. Custom layouts, routing, project structure etc. you can even use Cockpit as a data provider for a mobile app if you want.

Again thank you for writing about Cockpit!

Cool. Nothing can be better with the input from the original author.

The hints provided will be absolutely useful and more on the “right” way. Mine is on the “hacker” way.

Documentation is of top importance. Please do make it more usable and better.

So, who is building with Cockpit? Is there a community or support forum somewhere for people to discuss it?

community support right now is provided via a google group -

It’s always nice to find out about a new CMS. One thing, though: they can run in so many different environments that it’s always good to set the scene from the outset. I had to read a long way into this article to know whether this CMS ran on PHP, Ruby, Node or whatever. It would be good to have clarified that at the start. :slight_smile:

Well, it’s on the PHP channel :smile:

Well, default value for language in this channel is PHP. :sunglasses:

Fair enough, although it’s not always read in that context—such as on RSS or coming from the forums. Ideally, content should be self-contained and not dependent on the surroundings. Anyhow, minor distraction from a good article. Sorry!

Should be in the PHP category in the forums, too, every time something is published in a language master category, it goes into the appropriate forum subcategory. I can dig the RSS confusion, though, but you shouldn’t be able to see the whole post without clicking through to it in your RSS reader and that’s when the big PHP badge is shown at the top.

Do you see the whole post in your feed? If so, we need to fix that.

In this case I saw it in the forums, so don’t worry. I did miss the PHP tag, but I think (like a lot of people) I’m trained to tune out extraneous material and focus on the main content. So in forums I’m often confused about people’s posts, because their only question is contained in the title of the post—somewhat removed from the post itself. Anyhow, maybe it’s just me. (I didn’t mean to make a mountain over it. :slight_smile: )

1 Like

I have been using CockpitCMS. As you have pointed out, it is quite developer centric. The creator of this CMS is very talented and he is also one of the core contributors for UIKit, a lightweight UI framework and pagekit CMS as well. Cockpit CMS uses all the latest techniques in PHP, uses SPLs very wisely. It is a very good tool to have in our arsenal

It looks good, but from what I can see the whole toolkit for working with the API is loaded into the global scope? so cockpit is a global function

I played with this CMS for a week and I have to admit it is a pretty cool concept and offer great potentials of use.

Although I want to expose my concerns about the project:

  • It is not well documented: this limit in my opinion the use of this framework because you have to dig into the code to try to understand what every component does.
  • Project architecture: while the use of the CMS is straightforward and promises great flexibility the code architecture is chaotic to me. I cannot use the component via composer, there is no use of namespacing so the code is less reusable and maintainable from the user perspective. I cannot understand how to export a database structure and import it into another installation of cockpit (versioning of the backend is hard)
  • Use of not tested components: that really push me to use it only for personal projects.

Overall I fell that I have spent well my time on this project since I learned a lot of things and I really wish the best for the author of the framework, I hope you get my critique positively, it is not meant to discredit your work but to improve it. Thank you :smiley:

1 Like

Thank you very much for the feedback and for taking an in-depth look at it! I’m sure @faulancer will appreciate it : )

How you can access to dashboard/admin page after creating website in the other folder?

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.