All apps · 0 apps
rathole
Plugin from digi-deity
Overview
Readme
View on GitHubrathole for unRAID
Self-hosted, plugin-based remote access for your unRAID server. rathole for unRAID tunnels traffic between your server and a cheap VPS — a completely self-hosted alternative to Cloudflare Tunnel or Tailscale, with no third-party service in the loop.
Because it runs as a native plugin rather than a Docker container, the tunnel comes up early and independently of the array. Even if your array fails to start, your server stays reachable — so you can SSH in and debug remotely exactly when you need to.
This plugin installs and manages the rathole client on unRAID.
rathole is a lightweight, high-performance reverse proxy written in Rust. It lets you expose local services on a NAT network to a public server — useful for reaching home-lab services remotely without opening ports on your router.
rathole vs cloudflared
Short version: rathole = self-hosted, cloudflared = managed.
| rathole (this) | cloudflared | |
|---|---|---|
| Control / ownership | Full — your VPS, your keys, end-to-end TLS | Third-party service; edge re-encrypts (MITM) and ToS apply |
| Security | You secure the VPS (firewall, fail2ban, …) | Built-in DDoS/WAF/Zero Trust |
| Setup | You run a VPS + DNS you control | Cloudflare account; no public IP |
| Best for | Self-sovereignty, any TCP/UDP | Zero-config hardening, global edge |
See also: cloudflared for unRAID
Features
- Installs the rathole client binary (fetches the latest release from GitHub at install time).
- Provides a webGUI page (Utilities → rathole) to:
- Edit the client config (
/boot/config/plugins/rathole/rathole.toml) - Start / stop the client daemon
- See the installed version and running status
- View live client logs
- Edit the client config (
rc.ratholestart/stop/restart script for CLI control.- Persistent config on the flash drive; survives reboots.
- Auto-updates the binary to the latest rathole release when the plugin is (re)installed or updated.
Installation
From Community Apps (once published)
- In the unRAID webGUI, go to Apps → search for
rathole. - Click Install, then Done.
Manual install
- Download the plugin file:
https://raw.githubusercontent.com/digi-deity/rathole-unraid/main/rathole.plg - In the unRAID webGUI, go to Plugins → Install Plugin.
- Paste the URL above and click Install.
Configuration
The client config lives at /boot/config/plugins/rathole/rathole.toml.
A default config is created on first install:
[client]
remote_addr = "myserver.example.com:2333"
[client.services.my_service]
type = "tcp"
local_addr = "127.0.0.1:8080"
Edit it from the webGUI page, or directly on the flash drive. After saving, restart the client from the plugin page (or run /etc/rc.d/rc.rathole restart).
Running a rathole server
This plugin runs the client. To run a server, install the standalone rathole binary on a public machine and run:
rathole --server server.toml
CLI usage
/etc/rc.d/rc.rathole start # start the client
/etc/rc.d/rc.rathole stop # stop the client
/etc/rc.d/rc.rathole restart # restart the client
Logs are written to /var/log/rathole.log and size-capped automatically: once the file exceeds 3 MiB, only the newest 1 MiB is kept, so long uptimes can never fill the log disk through this log.
Log disk full
If the log disk (/var/log) is full, rathole still starts — logging is skipped instead of blocking the daemon. The logs page shows a filler message explaining this. Free up space on the log disk, then restart the client to re-enable logging:
/etc/rc.d/rc.rathole restart
Uninstall
Remove the plugin from Plugins → Uninstall, or run the uninstall script included in the plugin.
Support
- GitHub Issues: https://github.com/digi-deity/rathole-unraid/issues
- unRAID Forum: https://forums.unraid.net/topic/PLACEHOLDER_RATHOLE_SUPPORT_TOPIC (to be updated once the topic is published)
Development / Releasing
Building the bundle
cd source/rathole
./pkg_build.sh
This creates archive/rathole-<YYYY.MM.DD>-x86_64-1.txz and prints its MD5.
Releasing a new version
- Bump
versionandbundleversioninrathole.plgto today's date (YYYY.MM.DD). - Rebuild the bundle (above).
- Copy the printed MD5 into
md5bundleinrathole.plg. - Add a dated entry to
<CHANGES>inrathole.plg. - Update
plugins/rathole.xml/ca_profile.xmlif needed (e.g. new icon or support link). - Commit and push to
main.
The plugin download URLs are served from the main branch, so a push is all that's needed.
Repository layout
| Path | Purpose |
|---|---|
rathole.plg |
The plugin definition consumed by unRAID / Community Apps |
plugins/rathole.xml |
Community Apps wrapper for this plugin |
ca_profile.xml |
Community Apps repository profile |
archive/ |
Built .txz bundles |
source/rathole/ |
Source files and build script (pkg_build.sh) |
License
Licensed under the Apache License 2.0. This plugin is based on rathole, which is also released under the Apache License 2.0. See NOTICE for third-party attributions.
Install Rathole on Unraid in a few clicks.
Find Rathole in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Download Statistics
Downloads by Month
Related apps
Explore more like this
Explore allLinks
Details
https://raw.githubusercontent.com/digi-deity/rathole-unraid/main/rathole.plg