2 min read

Introducing the Cachet Core

Cachet has been operating as a standalone application, serving as your status page for nearly a decade. However, with version 3.x we're changing that.

Cachet has been installed as a standalone application, serving as your status page for nearly a decade. However, with version v3.x we're changing that.

Over the past few weeks, we have been busy developing a new package called cachethq/core. This will encompass everything you need to run Cachet, offering several advantages by turning Cachet into a package:

  • Maintainability: The package format simplifies our update responsibilities. For instance, we no longer have to manage both Laravel updates and Cachet itself.
  • Composability: It's now possible to install Cachet into your existing applications. Though we still recommend hosting your status page separately from your application, you might have existing DevOps solutions that you want to integrate with Cachet.
  • Future Ideas: For those inquiring about hosting Cachet, turning it into a package enables us to offer additional packages, such as a hypothetical Laravel Nova integration.
⚠️
This is just an early glimpse of the cachethq/core package, so expect rapid changes in this phase.

It's important to note that this isn't ready for production yet. Our efforts have been concentrated on defining the package structure and standardizing our approach. Our aim is to streamline the process for contributors, making it easy to get started by referencing existing work.

Stack

The status page will leverage Laravel Blade and may include a touch of Livewire for reactivity. There will also be some interactivity required for elements like metrics, tooltips, and component groups, for which we'll utilize Alpine.js.

On the dashboard side, my personal favorites, Vue and Inertia, will be the main tools. I believe that these technologies will equip us with the robust tools needed to create a solid dashboard panel.

Testing

Ease of testing is another focus of ours. We've collaborated with Mior (@crynobone) to incorporate his Testbench and Workbench packages. As long as you have PHP and Node.js installed on your system, you can dive right into developing Cachet:

git clone [email protected]:cachethq/core.git
cd core
composer install
npm install
npm run build
composer start

Running composer start will launch a fresh Laravel application with Cachet already installed and set up for you. Typically, Workbench will make Cachet accessible at https://127.0.0.1:8000.

Feel free to make changes, refresh, and observe the results immediately.

We are thrilled about this new direction and hope it simplifies both contribution and utilization of Cachet. If you wish to sponsor the development of Cachet, you can do so on GitHub.