Settings

The Settings page configures system-wide parameters including the Public URL (FQDN) which is used to generate scanner provisioning commands and OIDC callback URLs. If not set, the system falls back to the PUBLIC_URL environment variable or request headers.

Inputs

Name Description Allowed Values Default
Public URL The externally-accessible HTTPS URL for this mipo instance Valid HTTPS URL (e.g., https://mipo.example.com) Empty (uses PUBLIC_URL env var or request headers)
Heartbeat URL External monitoring URL that mipo pings on a regular schedule. Use a dead-man-switch service like Healthchecks.io or Cronitor — the service alerts you if pings stop arriving. Leave empty to disable. Any valid HTTP/HTTPS URL, or empty to disable Empty (dead-man-switch disabled)
Heartbeat Interval (minutes) How often mipo pings the Heartbeat URL. The external monitoring service should be configured with a grace period slightly longer than this interval (e.g., interval + 2 minutes) to tolerate minor timing jitter. Integer number of minutes (minimum 1) 5 minutes

Fields & Columns

Name Description
Scanner Install URL Derived URL used in scanner provisioning curl commands
OIDC Callback URL Derived URL to configure as the redirect URI in your identity provider

Gotchas

  1. The Public URL must include the protocol (https://) — just a hostname will not work.
  2. Changing the Public URL affects all future scanner provisioning commands and OIDC callback URLs.
  3. If the Public URL is cleared, derived URLs disappear and the system falls back to environment variables.
  4. The public URL fallback chain is: database setting > PUBLIC_URL environment variable > request Host header. The database setting takes highest priority; the Host header is used only as a last resort and may be unreliable behind proxies.
  5. If the Heartbeat URL does not respond within 10 seconds, the ping is silently abandoned and logged as a warning. The external monitoring service detects silence — mipo itself does not raise an alarm on ping failure.
  6. The heartbeat loop is tied to the notification processor. If the manager process exits, pings stop — which is precisely the dead-man-switch signal. The external service should alert on missing pings within one or two heartbeat intervals.
  7. Changing the Heartbeat Interval saves the new value, but the running loop is not restarted automatically until the next manager restart or settings save. Use the heartbeat test button to verify the URL is reachable before relying on the schedule.

API Calls (5)

Method Path Description
GET /api/admin/settings Retrieve current system settings (publicUrl, heartbeatUrl, heartbeatIntervalMinutes)
PUT /api/admin/settings Update system settings — accepts publicUrl, heartbeatUrl, and heartbeatIntervalMinutes
POST /api/admin/settings/heartbeat-test Send a single on-demand ping to the configured Heartbeat URL to verify connectivity. Returns the HTTP status from the monitoring service, or 400 if no URL is configured, or 502 if the ping failed.
POST /api/admin/seeds/reload-builtins Restore deleted default configuration entries
POST /api/admin/seeds/import Import seed data from JSON

Related Pages

  • Scanners — Scanner provisioning commands use the Public URL
  • OIDC — OIDC callback URL is derived from the Public URL
  • Backups — Backup configuration includes system-level settings like encryption