Skip to content

Troubleshooting

Anand edited this page Sep 10, 2026 · 1 revision

Troubleshooting

A connection shows "unreachable" / pages 502

Ferrum proxies every request live to the target Proxmox host — a 502 from Ferrum usually means the upstream PVE/PBS host itself returned an error or couldn't be reached. Check, in order:

  1. Reachability — can the machine running Ferrum reach host:port (default 8006 for PVE, 8007 for PBS)? Firewalls between Ferrum and the target are the most common cause.
  2. TLS — Proxmox ships a self-signed certificate by default. If you haven't replaced it with one from a real CA, leave TLS insecure checked on the connection (the "Verify TLS certificate" checkbox, unchecked by default) — otherwise every request fails certificate verification.
  3. Credentials — an API token needs the user@realm!tokenid format (e.g. root@pam!ferrum) with "Privilege Separation" off if you want it to inherit the user's full permissions, or a matching set of ACLs on the token itself otherwise. A username/password connection needs an account that can actually log in to the PVE API (not just SSH).
  4. A genuinely standalone node — some cluster-scoped endpoints (/cluster/config/nodes, /cluster/status) error by design on a non-clustered host, since there's no corosync.conf to read. Ferrum treats that as "not part of a cluster" rather than an error on pages that expect it (Cluster & SDN's Members list, for one) — if you see a real error card instead, that's worth reporting.

Journal / certain node-detail data won't load

A few node-level endpoints (the systemd journal, node certificates, DNS, /etc/hosts, time sync) are admin-only by design, since they can expose more of the host than a non-admin operator should see. If you're signed in as a non-admin user, that's expected — sign in as an admin, or have one granted to your account from Users.

AI Assistant / Needle 2 issues

See AI Assistant and MCP — the built-in Needle 2 provider has its own section, including a specific fix for it getting OOM-killed on small ARM boards (FERRUM_NEEDLE_MAX_TOOLS).

If a different configured provider (OpenAI, Ollama, ...) fails, use the "Test" button next to it under Settings > AI Providers — it reports whether Ferrum could reach the endpoint and, if the provider supports it, which models it discovered.

Console/shell won't open (noVNC or xterm.js)

The console and shell both go over a WebSocket that Ferrum proxies to the target host's own vncproxy/termproxy ticket. If it fails immediately:

  • Check that nothing between your browser and Ferrum strips WebSocket upgrade headers (some reverse proxy configs need an explicit Upgrade/Connection header pass-through).
  • A shell session failing with a PVE-side error (e.g. /bin/login exiting non-zero) is usually a problem on the target host — PAM/root-login configuration, a locked account, or a container without a usable shell — not something Ferrum's proxying can fix. Check the equivalent shell/console session directly from the Proxmox web UI to confirm it's not Ferrum-specific.

I forgot the admin password / need to reset an account

There's no "forgot password" flow yet — an existing admin resets another user's password from Users. If no admin account is usable at all, the account records live in the configured database (SQLite file or Postgres) and can be edited there directly as a last resort; back up the database file first.

Where do I report a bug?

Open an issue with: your Ferrum version (ferrum -version, or the footer in Settings), how you deployed it (Docker/systemd/Windows service/source), and — for anything connection-related — the Proxmox VE/PBS version you're connecting to.