Troubleshooting
July 16, 2026 ยท View on GitHub
Setup page does not appear
Check ./panel doctor, confirm the process listens on the expected address, and open /setup/ with the trailing slash. An installed instance redirects setup requests to the dashboard.
Login is rejected
Confirm the account is active and use the username or email shown by the administrator. Check server time when TOTP codes fail. TOTP requires clocks on the server and authenticator device to agree.
DNS record remains queued
Open Administration โ DNS jobs and read the last error. Test the provider. Common causes are an expired token, a wrong PowerDNS zone identifier, a BIND TSIG mismatch, a blocked network port, or a zone policy that does not authorize the RRset. Keep domain-oss worker running.
BIND returns NOTAUTH or REFUSED
Verify the zone is loaded as a primary, the TSIG key name and algorithm match exactly, the base64 secret is unchanged, and update-policy covers the delegated name and type. Query the same server and port configured in the panel.
PowerDNS returns 404
Confirm the zone exists and that the remote ID is the zone name with a trailing dot unless the deployment uses a different identifier. The configured URL must be the API origin, not the full /api/v1 path.
Recovery email is missing
Check SMTP_HOST, port, credentials, STARTTLS policy, sender address, and PUBLIC_ORIGIN. Inspect SMTP logs. The recovery page intentionally returns the same message whether an email address exists or not.
Webhook URL is rejected
Production webhooks must use HTTPS and resolve only to public addresses. Private and loopback targets require ALLOW_PRIVATE_WEBHOOKS=1, which is intended only for a controlled development environment.
Encrypted data cannot be read
Restore the SECRET_KEY that belongs to the database. If it is permanently lost, remove and recreate provider and webhook configurations and re-enroll affected TOTP accounts.