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.
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
Three situations on a perfectly healthy site. A probe knocking from the internet has no way of seeing any of them.
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.
Background jobs stopped draining: notifications do not go out, imports do not come in, and the site looks exactly the way it looked yesterday.
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.
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.
A test query on every read, together with its response time.
Writing and reading a control key in the framework cache.
Whether the published resource directory exists and can be written to.
Whether the site root node answers. Every subpage renders from it.
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.
The connection to the mail server: TCP, greeting and EHLO. It tests the connection, not the delivery.
The backlog in the background job queue.
The state of the cluster behind search and listings.
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.
How many accounts hold full power over content and configuration, and whether the set has changed.
Whether the site runs in the Production context.
Whether exception details and PHP errors stay off the page, together with the server paths.
Whether the configuration files holding the database password and the data directories are not left wide open.
Whether the key file exists and is not readable by everyone on the server.
How many packages have newer versions. Numbers only, no names.
All of it on your side. You give us no server passwords and no access to your panel.
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
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.
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 ›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.
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.
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.
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.
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.
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.