Neos CMS package · integration from the inside

Neos answers.
That does not mean it renders.

A Neos site can return a 200 with an unwritable resource directory, a silent background queue and a context other than Production. The Calmfox Watch package reads those parameters at the source and names the one that stopped, instead of guessing from the page markup.

Requirements: Neos 8.3 and newer, including 9.x, PHP 8.1 and newer

A healthy site is not the same as a site without a problem.

Three situations on a perfectly healthy site. A probe knocking from the internet has no way of seeing any of them.

Resources never reached production.

After a release the published resource directory is sometimes empty or unwritable. The site keeps rendering, only without styles and scripts, and the response code stays correct the whole time.

The job queue is stuck.

Background jobs stopped draining: notifications do not go out, imports do not come in, and the site looks exactly the way it looked yesterday.

The site runs in development mode.

A context other than Production shows visitors the inside of the application and the server paths, and slows it down on the way. From the outside it is an ordinary, working site.

What we read on every check.

Every minute by default. Each parameter carries its own state and its own response time, so the panel shows not just that something broke, but exactly what stopped.

  • Database

    A test query on every read, together with its response time.

  • Flow cache

    Writing and reading a control key in the framework cache.

  • Resource publishing

    Whether the published resource directory exists and can be written to.

  • Content repository

    Whether the site root node answers. Every subpage renders from it.

  • Disk space

    Whether the data directories are writable, the size of the installation and how much of the hosting quota is used, if the host exposes it.

  • Outgoing email (SMTP)

    The connection to the mail server: TCP, greeting and EHLO. It tests the connection, not the delivery.

  • Job queuewhen you use it

    The backlog in the background job queue.

  • Elasticsearchwhen you use it

    The state of the cluster behind search and listings.

Security hygiene, once a day.

This is not a malware scan and we do not pretend it is one. We check the settings that most often survive a release, and for each of them we say what the target state is.

  • Administrator accounts

    How many accounts hold full power over content and configuration, and whether the set has changed.

  • Application mode

    Whether the site runs in the Production context.

  • Error display

    Whether exception details and PHP errors stay off the page, together with the server paths.

  • File and directory permissions

    Whether the configuration files holding the database password and the data directories are not left wide open.

  • Encryption key

    Whether the key file exists and is not readable by everyone on the server.

  • Pending updates

    How many packages have newer versions. Numbers only, no names.

Installation.

All of it on your side. You give us no server passwords and no access to your panel.

  1. 1Unpack the package next to the project and wire it in with Composer as a path repository.
  2. 2Check that the health route is registered. Distributions with their own routes file need one entry, and the snippet is in the README.
  3. 3In the Neos backend open Calmfox Watch in the menu and click „Connect through Calmfox Watch”.
Commands, requirements and unusual setups: the integration catalogue ›
mkdir -p PakietyCalmfox && unzip calmfox-watch-neos.zip -d PakietyCalmfox
composer config repositories.calmfox-watch '{"type":"path","url":"./PakietyCalmfox/Calmfox.Watch","options":{"symlink":false}}'
composer require calmfox/watch-neos:@dev
FLOW_CONTEXT=Production ./flow flow:cache:flush --force

One button to connect.

In your own admin panel you click Connect, you can create the Calmfox Watch account along the way, and you come back with the integration in place. No key is copied by hand.

What the package never sends.

No page content, no customer data, no database rows and no passwords. What travels are numbers and service states. Even the set of accounts with full permissions travels as a one way fingerprint salted with your installation secret: enough to detect a change, useless anywhere outside your site.

What we store and for how long ›

Before you ask.

Does the control route need wiring in?

In most setups the route comes with the package. Distributions with their own routing file need one entry, and the snippet is ready in the README inside the package.

Is the package on Packagist?

Not yet. You wire it in with Composer as a path repository from the file you download here. Until the package is in the catalogue, we do not pretend that it is.

Does Neos 9 work?

Yes, the package supports 8.3 and above, including 9.x. The Neos version and the PHP version travel to the panel on every check, so an upgrade is visible there too.

How is the address you read the data from protected?

It answers only with the secret key in the address (128 bits, compared in constant time), with headers that forbid indexing and caching. Without the key it returns 403. You rotate the key with one click and the previous one keeps working for another fifteen minutes, so the switch never raises a false alarm.

Your site runs on something else?

We have packages for WordPress, Neos, Sylius and Magento. Every other site stays on monitoring from the outside, which needs nothing installed on the server — we simply will not see the inside.

Check your website.
Free, in two minutes.

The free technical review covers availability, the certificate, the domain, email, content and forms. It ends with a score and a list of tasks you can hand to your developer. No payment card and no commitment.