Skip to content

Remote access

Two settings decide who can reach the dashboard:

  • Where it listens is set by the start profile.
  • Who may connect is set live in Settings → Remote access, without a restart.
Profile Listens on Use it when
local 127.0.0.1 You use the dashboard on the same machine or through an SSH tunnel
lan all interfaces You manage a Pi, home server or second PC from other devices at home or over a VPN
proxy 127.0.0.1, Secure cookies An HTTPS reverse proxy publishes the dashboard
headless API and WebSocket only Automation and scripts

Set it with CRAFTPANEL_PROFILE in your settings file, --profile on the command line, or pnpm start:<profile> in a checkout. The installers use lan on Linux.

In Settings → Remote access choose:

  • This computer only: everyone else gets an “access not allowed” page.
  • Private networks and VPNs (default): home networks, Tailscale and other private ranges. Requests from public addresses are refused, so an accidental port forward doesn’t expose the dashboard.
  • Anywhere: requires HTTPS.

You can also allow additional addresses (IPs or CIDR ranges), for example an office’s public IP; public ranges require HTTPS. CraftPanel refuses a change that would lock out the person making it.

Install Tailscale or WireGuard on the CraftPanel host and on your team’s devices. Use the lan profile and keep the default policy. Open http://<tailscale-name>:8080.

Nothing is exposed to the internet, and the traffic is encrypted by the VPN.

Settings → Remote access → Deployment checks reports whether your current connection uses HTTPS, which proxies are trusted, data-directory access, free disk space, certificate validity and database integrity. The same checks run without the dashboard:

Terminal window
node apps/api/dist/index.js doctor # add --json for scripts

Run it as the service account with the same settings. Exit code 1 means a check failed.