Nextcloud is the self-hosted cloud platform that engineering teams, enterprises, and privacy-focused organizations use to replace Google Drive, Dropbox, and collaboration suites with infrastructure they fully control. Unlike a simple file server, Nextcloud is a live PHP application backed by a database that handles file synchronization, calendar and contacts (CardDAV/CalDAV), collaborative document editing, video calls, and hundreds of installed apps — all running on your own servers. When Nextcloud goes down, your team loses access to shared files, desktop sync clients disconnect, calendar invites stop working, and any workflows that depend on Nextcloud's WebDAV or API layer break silently. File sync downtime and calendar downtime affect the entire organization. Vigilmon gives you external visibility into Nextcloud's status endpoint, login page, HTTPS redirect, and SSL certificate so you're notified within 60 seconds when your cloud platform becomes unavailable.
What You'll Build
- A status monitor on Nextcloud's
/status.phpendpoint - An HTTP monitor for the login page availability
- An HTTPS redirect check on the root path
- SSL certificate monitoring for your Nextcloud domain
Prerequisites
- A running Nextcloud instance with a public or network-reachable domain
- HTTPS configured via a reverse proxy (e.g.,
https://cloud.example.com) - A free account at vigilmon.online
Step 1: Verify Nextcloud Status via /status.php
Nextcloud exposes a dedicated status endpoint at /status.php that returns a JSON response reflecting the application's health. This is the most authoritative health check for Nextcloud:
curl https://cloud.example.com/status.php
# Expected: HTTP 200 with JSON body
A healthy response:
{"installed":true,"maintenance":false,"needsDbUpgrade":false,"version":"28.0.0","versionstring":"28.0.0","edition":"","productname":"Nextcloud","extendedSupport":false}
The critical fields are:
"installed": true— Nextcloud has completed its initial setup"maintenance": false— the application is not in maintenance mode (which blocks all access)"needsDbUpgrade": false— no pending database upgrade (which can degrade performance)
Step 2: Create a Vigilmon HTTP Monitor for the Status Endpoint
- Log in to Vigilmon → Add Monitor → HTTP.
- URL:
https://cloud.example.com/status.php. - Check interval: 60 seconds.
- Response timeout: 15 seconds.
- Expected status:
200. - Keyword:
installed. - Label:
Nextcloud Status. - Click Save.
Tip: If you want to catch maintenance mode specifically, set your keyword to
"maintenance":false. Nextcloud enters maintenance mode during upgrades and manual administrative operations — during this time, all user access is blocked and sync clients disconnect.
This monitor catches:
- PHP-FPM process crashes or container restarts
- Database connection failures that prevent
/status.phpfrom returning valid JSON - Application entering maintenance mode (planned or unexpected)
- Database upgrade requirements that indicate a failed or interrupted upgrade
- Reverse proxy misconfigurations
Step 3: Monitor Login Page Availability
The Nextcloud login page at /login is the entry point for all web users. Monitoring it separately from /status.php confirms that the PHP templating layer, session handling, and asset serving are all working:
curl -I https://cloud.example.com/login
# Expected: HTTP/2 200
- Add Monitor → HTTP.
- URL:
https://cloud.example.com/login. - Check interval: 2 minutes.
- Expected status:
200. - Keyword:
Nextcloud. - Label:
Nextcloud Login Page. - Click Save.
This monitor catches failures that affect users directly — a broken login page means no one can authenticate, even if /status.php reports the application as healthy. Common causes include broken app configurations, PHP errors in middleware, or session handler failures.
Step 4: Monitor the HTTPS Redirect
Nextcloud should redirect all HTTP traffic to HTTPS. If this redirect breaks (often after a misconfiguration of overwrite.cli.url or reverse proxy changes), users on HTTP get an unencrypted connection or a broken page:
curl -I http://cloud.example.com
# Expected: HTTP 301 or 302 redirect to https://cloud.example.com
- Add Monitor → HTTP.
- URL:
http://cloud.example.com. - Check interval: 5 minutes.
- Expected status:
301(or302depending on your configuration). - Label:
Nextcloud HTTPS Redirect. - Click Save.
Why monitor HTTP? Nextcloud's security checklist explicitly requires HTTP-to-HTTPS redirection. If this redirect breaks after a proxy reconfiguration, some clients (especially older desktop sync clients or mobile apps configured with
http://) may fall back to unencrypted connections without warning. Monitoring the redirect catches misconfiguration before it becomes a compliance or data-security issue.
Step 5: Monitor SSL Certificates
Nextcloud's SSL certificate protects file transfers, calendar and contacts data, and login credentials. An expired certificate affects every integration point:
- Desktop sync clients (Windows, macOS, Linux) throw TLS errors and stop syncing files
- Mobile apps for iOS and Android disconnect and lose sync
- CalDAV/CardDAV clients (calendar, contacts apps) lose connectivity
- WebDAV mounts on developer workstations fail
- Any automation accessing the Nextcloud API encounters certificate errors
- Add Monitor → SSL Certificate.
- Domain:
cloud.example.com. - Alert when expiry is within: 30 days.
- Alert again: 14 days, 7 days, 3 days, 1 day.
- Click Save.
The breadth of Nextcloud's integrations means a certificate expiry is felt across the entire organization simultaneously — every desktop sync client, every mobile user, every calendar integration fails at the same moment.
Step 6: Configure Alerting
In Vigilmon under Settings → Notifications, configure your alert channels:
| Monitor | Trigger | Action |
|---|---|---|
| Status (/status.php) | Non-200 or keyword missing | Check PHP-FPM; verify database connectivity; check if maintenance mode was set |
| Login Page | Non-200 or keyword missing | Check PHP error logs; verify app configuration; check session handler |
| HTTPS Redirect | Non-301 response | Check reverse proxy return 301 rule; verify Nextcloud overwrite.cli.url config |
| SSL certificate | < 30 days to expiry | Renew certificate; verify Let's Encrypt auto-renewal is running |
Alert after: 2 consecutive failures for HTTP monitors. Nextcloud's PHP stack is generally stable; a second failure confirms a real outage. Set the status endpoint alert to 1 consecutive failure if you want immediate notification of maintenance mode.
Common Nextcloud Failure Modes and What Vigilmon Catches
| Scenario | Vigilmon monitor |
|---|---|
| PHP-FPM process crash | Status and login monitors fire; alert within 60 s |
| Database connection failure | Status endpoint returns error or 500; monitor fires |
| Database lock contention (heavy write load) | Status endpoint times out; monitor fires |
| Nextcloud enters maintenance mode | Status keyword "maintenance":false fails; alert fires |
| Failed upgrade leaves app in broken state | Status returns error JSON; login page may 500 |
| Redis/memcache failure | Performance degrades; status may still return 200 |
| Reverse proxy misconfiguration | All HTTP monitors fire; application container may be healthy |
| Disk full (data directory) | File uploads fail; application may throw 500 errors |
| PHP memory limit exceeded | Large operations fail; log fills with fatal errors |
| SSL certificate expires | SSL monitor alerts at 30 days; all sync clients disconnect |
| App store update breaks a core app | Login page may error; status may still return 200 |
| DNS misconfiguration | All monitors fire simultaneously |
Nextcloud is your organization's file system, calendar, and collaboration hub — when it goes down, file sync stops, shared documents become unavailable, and calendar invitations fail. Unlike a simple website, Nextcloud downtime is felt across desktop clients, mobile apps, and every calendar integration simultaneously. Vigilmon watches Nextcloud's status endpoint, login page, HTTPS redirect, and SSL certificate so you're alerted within 60 seconds of any failure, with enough lead time to restore access before your team realizes their files aren't syncing.
Start monitoring Nextcloud in under 5 minutes — register free at vigilmon.online.