Tailscale
To access the UI remotely, you can join an authenticated VPN using Tailscale. This greatly improves security, but adds a bit of additional work for users.
Tailscale is a really cool service! You may find yourself using it for other projects, too.
- Sign up for an account at Tailscale. The free account is fine for now.
- Once signed up and logged in, visit the Tailscale admin.
- Install Tailscale on your computer.
- SSH into your leader Pioreactor.
- Install Tailscale for Raspberry Pi with the following:
curl -fsSL https://tailscale.com/install.sh | sh - Don't miss that you also need to run
sudo tailscale up - You don't need to install anything on the workers.
- Install Tailscale for Raspberry Pi with the following:
- Back in your Tailscale admin, you should see your computer and the leader Pioreactor. Make note of the leader's Tailscale IPv4 address.
- With Tailscale connected on your computer, open
http://<leader Tailscale IPv4 address>. You can also usehttp://<leader hostname>if MagicDNS is enabled in Tailscale. - No MQTT configuration changes are needed for a standard installation. The browser connects through the leader's web server at the same address you opened. Workers continue connecting to the leader over your local network and do not need Tailscale.
- When you leave the local network, connect your computer to Tailscale and use the same Tailscale address. On the local network, the leader's usual address, such as
http://pioreactor.localor its local IP address, still works. - You can use the Tailscale admin to add users to your VPN, too.
If you previously configured Tailscale broker-address overrides, you can leave them in place. Pioreactor jobs still use those settings, so do not remove them without checking how your cluster connects to its broker.
The setting [mqtt] ui_use_proxy=false is for an external MQTT broker or a custom WebSocket setup. It makes the browser use broker_address, broker_ws_port, and ws_protocol directly. It is not needed for ordinary Tailscale access with the leader's built-in broker.
Security
Before sharing remote access, we recommend disabling file uploads and plugin changes from the UI. SSH into the leader and create these files:
touch ~/.pioreactor/DISALLOW_UI_UPLOADS
touch ~/.pioreactor/DISALLOW_UI_INSTALLS
To allow these actions again, remove the corresponding files over SSH.
See Security hardening for cluster-wide plugin restrictions, passwords, and other protections.