Appearance
Server health
The page that tells you what is wrong before a school does.
Check it after installing, after every update, and whenever something is behaving oddly.
Sidebar → Server & Health → Server Health
What each tab is for
| Tab | Use it when |
|---|---|
| Overview | A quick "is everything fine" glance |
| Self-Tests | Something is broken and you want the system to find it |
| Compatibility Matrix | After installing or moving host — checks your server against what the software needs |
| Maintenance | Fixing things: caches, storage link, cron, permissions |
| Diagnostics | Deeper detail for a support conversation |
| Log Explorer | Reading errors without needing file access |
Compatibility Matrix — run this first after installing
It checks your hosting against every requirement: PHP version, extensions, disabled functions, folder permissions, php.ini values, HTTPS and the storage link.
Every failed row tells you what to change in your hosting panel, in plain language — so a red row is something you can fix yourself rather than a support ticket.
Green everywhere means the server is capable. It does not mean the app is configured — that is what the rest of this documentation is for.
Maintenance — the tab you will use most
Media Storage Link
Says Linked & active when uploaded files are reachable. If it says Not linked, press Create Storage Link Now.
That is the whole fix. There is no command to run, and it is the cause of almost every "logos and photos are broken" report.
Scheduled Tasks (Cron)
Shows the exact cron command for your server, ready to copy — correct PHP path, correct folder. Always copy from here rather than typing it. Full detail in the cron job.
Quick Maintenance
| Button | What it does | When |
|---|---|---|
| Clear View/App Cache | Drops compiled pages and cached data | Panel showing stale content or old wording |
| Clear Config Cache | Reloads settings from .env | After editing .env and nothing changed |
| Run Scheduler | Runs due background work immediately | Testing whether the scheduler itself works |
| Process Biometric Logs | Pulls attendance from device logs now | Attendance not appearing from a machine |
"Run Scheduler" splits one problem into two
If Run Scheduler works but nothing happens on its own, the system is fine and your host is not calling the cron job. If the button itself fails, the problem is in the application.
That single distinction saves most of the guesswork in "nothing is sending".
File permissions & security
Confirms storage/ and bootstrap/cache are writable, and — importantly — includes a Test /.env is blocked link.
That test must show an error page
If clicking it shows the contents of your .env, your web server is serving it to the public internet. That file contains your database password and application key.
Fix the web server configuration immediately, then change the database password and application key, because both must be assumed leaked.
Web server config — private media
For VPS installs. Provides the exact Nginx, Apache and Octane blocks needed so student documents and certificates are served through the application rather than 404'd by the web server. Covered in installing on a VPS.
Log Explorer
Read error logs from the panel — no file access, no SSH.
When contacting support, this is where the useful information is. Copy the error and the timestamp rather than describing the symptom.
Errors carry an ID
Failures show a short error ID, which appears in the log too. Quoting it turns "a page broke this morning" into an exact record.
A routine worth keeping
| When | Do |
|---|---|
| Straight after installing | Compatibility Matrix, fix everything red |
| After every update | Overview, confirm the storage link, send a test message |
| Monthly | Overview and storage |
| When something breaks | Self-Tests, then Log Explorer |