docs: bound Serve to restricted tailnets
This commit is contained in:
1 parent
c45ee592f2
commit
270832cf4c
2 files changed
+12
-2
No files matched your search
@@ -446,7 +446,8 @@ Set `environmentFiles` for secrets like API keys. Protected WebUI runtime keys f
|
|||||||
|
|
||||||
The server binds to `127.0.0.1` by default. To reach it from another machine,
|
The server binds to `127.0.0.1` by default. To reach it from another machine,
|
||||||
use an SSH tunnel (`ssh -N -L 8787:127.0.0.1:8787 user@host`, which `start.sh`
|
use an SSH tunnel (`ssh -N -L 8787:127.0.0.1:8787 user@host`, which `start.sh`
|
||||||
prints for you over SSH) or use the preferred [Tailscale Serve](https://tailscale.com/docs/features/tailscale-serve)
|
prints for you over SSH) or, on a single-operator or access-restricted tailnet,
|
||||||
|
use the preferred [Tailscale Serve](https://tailscale.com/docs/features/tailscale-serve)
|
||||||
flow, which keeps WebUI on loopback behind tailnet-only HTTPS. Direct access to
|
flow, which keeps WebUI on loopback behind tailnet-only HTTPS. Direct access to
|
||||||
`http://<server-tailscale-ip>:8787` with `HERMES_WEBUI_HOST=0.0.0.0` and
|
`http://<server-tailscale-ip>:8787` with `HERMES_WEBUI_HOST=0.0.0.0` and
|
||||||
`HERMES_WEBUI_PASSWORD` is a fallback when Serve is unavailable. Full setup and
|
`HERMES_WEBUI_PASSWORD` is a fallback when Serve is unavailable. Full setup and
|
||||||
|
|||||||
+10
-1
@@ -34,13 +34,22 @@ The Hermes Web UI is fully responsive with a mobile-optimized layout
|
|||||||
(hamburger sidebar, sidebar top tabs in the drawer, touch-friendly controls),
|
(hamburger sidebar, sidebar top tabs in the drawer, touch-friendly controls),
|
||||||
so it works well as a daily-driver agent interface from your phone.
|
so it works well as a daily-driver agent interface from your phone.
|
||||||
|
|
||||||
### Preferred: Tailscale Serve
|
### Preferred on a single-operator or access-restricted tailnet: Tailscale Serve
|
||||||
|
|
||||||
[Tailscale Serve](https://tailscale.com/docs/features/tailscale-serve) exposes
|
[Tailscale Serve](https://tailscale.com/docs/features/tailscale-serve) exposes
|
||||||
the WebUI at a tailnet-only HTTPS/MagicDNS URL while Hermes keeps listening on
|
the WebUI at a tailnet-only HTTPS/MagicDNS URL while Hermes keeps listening on
|
||||||
`127.0.0.1`. Serve owns the network front door; continue launching Hermes
|
`127.0.0.1`. Serve owns the network front door; continue launching Hermes
|
||||||
WebUI through the maintained `start.sh` or systemd path.
|
WebUI through the maintained `start.sh` or systemd path.
|
||||||
|
|
||||||
|
Hermes currently sees every Serve login request as coming from the local proxy,
|
||||||
|
so password and passkey logins share one five-attempt, 60-second rate-limit
|
||||||
|
bucket across all clients. Use this path for a single operator, or restrict
|
||||||
|
access to the Serve node to the intended operator with [tailnet access-control
|
||||||
|
rules](https://tailscale.com/docs/features/access-control). On a broader
|
||||||
|
multi-user tailnet, use the SSH tunnel above or the direct-IP fallback below
|
||||||
|
until Hermes can safely attribute login attempts per Serve client. If the
|
||||||
|
shared bucket is reached, wait 60 seconds before trying again.
|
||||||
|
|
||||||
1. Install [Tailscale](https://tailscale.com/download) on your server and
|
1. Install [Tailscale](https://tailscale.com/download) on your server and
|
||||||
your iPhone/Android.
|
your iPhone/Android.
|
||||||
2. Before publishing anything, enable application authentication. Prefer
|
2. Before publishing anything, enable application authentication. Prefer
|
||||||
|
|||||||
Reference in new issue
Block a user