Use cases · Raspberry Pi fleets
Manage a fleet of Raspberry Pis without port forwarding or a VPN
Twenty Pis are out in the field: kiosks, signage players, sensor gateways in customer buildings, a few on 4G modems. None has a public IP, half sit behind routers you do not control, and the SD card on one of them is filling up. Reverse SSH tunnels and a VPN per site work until they do not. With Octling each Pi keeps one outbound connection, and you look after all of them from a browser.
“Which Pis are above 70°C or have less than 1 GB free on the SD card?”
“Update the kiosk app on the signage group to the latest release and restart the service. Do one first”
Connecting a Pi
- Create a deployment pack in Octling and pick resident mode. You get one install command that works on every Pi until the limit or expiry you set.
- Run that command on each Pi, or bake it into your image’s first-boot script. It asks for the sudo password once, because resident mode registers a systemd service.
- The Pi appears in your device list under the group you chose. The service starts on boot, restarts if it dies, reconnects after network drops and updates itself.
The same command works on 64-bit Raspberry Pi OS (ARM64) and on 32-bit systems (ARMv6 and ARMv7), so a Pi Zero or an old Pi 2 connects the same way as a Pi 5. Other Linux boards and x86 mini PCs use it too.
Why there is nothing to forward
The agent on the Pi dials out to Octling over an ordinary outbound connection and keeps it open. Nothing on the Pi listens for inbound traffic, so it works behind home routers, carrier-grade NAT on mobile data and customer firewalls that only allow outbound web traffic. You do not need a static IP, dynamic DNS or an open SSH port.
Running jobs on many Pis
Ask a question and the AI runs the commands on every Pi you select, then gives you one answer. For changes, run a batch task with “Confirm on the first device, replay on the rest”: one Pi goes first, you read exactly what it ran, and the others replay the same sequence. Pis that are offline can be skipped and catch up if they come online before the run ends.
For the boring recurring things, inspection rules check disk space, a named process or any custom command on a timer, for example vcgencmd get_throttled for under-voltage, and notify you once per problem.
What to know before you rely on it
- It is not an interactive shell. You describe a job and read the result. For live debugging with
htopor an editor, SSH over a tunnel is still the better tool. - The service runs as the user who installed it, not root. Commands that need root go through
sudo, which works unattended only if that user has passwordless sudo, as the default user on Raspberry Pi OS usually does. - A Pi that is powered off or has no network is simply offline. An inspection rule can tell you when a device has been offline too long, but nothing can reach it until it comes back.
- Commands and output pass through Octling’s servers. Which commands run without asking is described on the approvals page.
- No screen sharing. If you need to see the kiosk display, ask for a screenshot command or keep VNC for that.
Questions
- Do I need port forwarding, a static IP or a VPN?
- No. The agent on each Pi opens an outbound connection to Octling and keeps it open, so nothing has to accept inbound traffic. It works behind NAT, mobile data and firewalls that allow outbound web traffic.
- Which Raspberry Pi models work?
- Any Pi running Linux. The install command supports 64-bit ARM (ARM64) and 32-bit ARM (ARMv6 and ARMv7), so it covers the Pi Zero and older boards as well as the Pi 4 and Pi 5.
- Does it survive a reboot or a network drop?
- Yes, in resident mode. It is installed as a systemd service that starts on boot, restarts on failure and reconnects by itself. It also updates itself.
- Does it run as root?
- No. The service runs as the user who installed it. Commands that need root use sudo, which requires that user to have passwordless sudo for unattended work.
- Can I get an interactive terminal?
- No. You describe the job and the AI runs commands and reports back. For interactive sessions keep SSH.
Related: control ESP32 boards and Raspberry Pi in plain language · patch a fleet of Linux servers