blockinator.
GitHub ↗

HELP CENTER

Find the cause.
Get back to running.

Start with the symptom, then follow the relevant guide. For a reproducible bug, share a focused report on GitHub.

Connection checklist

  1. Confirm the Blockinator host and port are reachable from the resolver container or process.
  2. Check docker compose ps and docker compose logs --tail=100 blockinator caddy.
  3. Use the authenticated /api/v1/ping endpoint with the same key and network path as the plugin.
  4. For 401 responses, verify that the key is enabled. For HTTPS failures, check trust, hostname, and port.
  5. Review the plugin startup probe and Blockinator Runtime diagnostics.

Unexpected decision?

  1. Try the client IP and domain in Policy Tester.
  2. Check ignored record types, global pause, and active whitelist targets.
  3. Verify the highest-priority scheduled target and its scoped lists.
  4. Check applicable global lists, domain whitelist matches, and the unmatched-client fallback.
  5. Compare the result with Query Log and Technitium’s own blocking behavior.

Frequently asked questions

Is Blockinator a DNS server?

It is an HTTP policy service. Your resolver handles DNS. The Technitium companion plugin asks Blockinator for decisions and enforces the response.

Do I need MySQL?

No. SQLite is the default. MySQL 8.x is available when a separate database suits your deployment.

Why does an allowed query still get blocked?

Check Technitium’s own blocking settings and the plugin’s bypassBuiltInBlockingOnAllow option. An explicit Blockinator ALLOW can bypass built-in blocking when enabled; a fail-open fallback does not.

Why is a hostname target not matching?

PTR identities are learned in the background. The first query does not wait for a lookup. Check Runtime diagnostics and the configured reverse-DNS servers, then test again once the name is learned.

Why is a query missing from Query Log?

Ignored-only record-type requests deliberately bypass logging. Also inspect retention and the Runtime logger queue, drops, failures, and uncertain-write metrics.

Can I change the administrator password in .env?

Bootstrap variables initialize a new database. Manage existing administrator credentials and API keys in Access & Security.

Does the schedule use my browser timezone?

Each schedule stores its own IANA timezone. Query Log boundaries use the system timezone shown beside the controls.

Where do I report a bug?

Open an issue in the relevant application or Technitium plugin repository. Include versions, steps to reproduce, expected and actual results, and redacted logs. Never include credentials or private query history.

Find your next step