Relay access¶
What it is¶
Relay access lets you reach a local Repowire daemon from another machine or a phone browser without opening inbound ports. The hosted relay runs at repowire.io; you can also self-host the same relay software.
When to use it¶
Use relay access when you want the remote dashboard, cross-machine mesh traffic, or phone-browser access while keeping the daemon behind outbound-only connectivity.
Skip the relay when all peers and humans are on the same machine and http://localhost:8377/dashboard is enough.
Setup¶
Enable the hosted relay:
Or start the daemon with relay enabled:
The daemon opens an outbound WebSocket to wss://repowire.io/ws/relay. An API key is generated on first run and written to ~/.repowire/config.yaml under relay.api_key.
Open:
Visit https://repowire.io, paste the API key into the auth form, and the relay sets a cookie tied to that key's user scope.
Common workflows¶
Run the remote dashboard:
Then open https://repowire.io/dashboard. Dashboard HTTP, SSE, and WebSocket traffic tunnel back through the daemon's outbound relay connection.
Self-host the relay:
Put it behind your own TLS terminator and point the daemon at it:
Restart the daemon after changing the relay URL.
Commands and API¶
repowire setup --relayconfigures hosted relay startup.repowire serve --relaystarts the daemon with relay enabled.repowire relay start --port 8000starts a self-hosted relay process.repowire statusreports relay configuration and connection state.
The relay serves the dashboard static export. API and SSE traffic tunnel back to the daemon over the outbound relay WebSocket.
Limits¶
- The relay never opens a connection to your machine; the daemon is the active party.
- The relay sees tunneled HTTP metadata and traffic needed to route requests. Keep the API key secret.
- Telegram traffic is not proxied by the relay.
- Self-hosting requires TLS termination, DNS, and process supervision.
- Restarting a relay disconnects active daemon WebSockets; daemon clients reconnect with backoff.
Troubleshooting¶
- Remote dashboard shows the daemon offline: run
repowire statuslocally and confirm relay is connected. - Auth fails after rotating keys: see Relay key rotation.
- Self-hosted relay works locally but not over the internet: check TLS, DNS, and WebSocket proxying.