Update via SSH
How to manually update boneIO controller via SSH?
This guide describes manual controller update via SSH. It's useful when:
- You want to install a specific software version
- The web interface update doesn't work
- You need more control over the update process
We highly recommend updating via the WebUI. The built-in update manager in Settings → Maintenance → Software update provides a one-click update, and lets you install an earlier version from Available Versions if something goes wrong. Use SSH updates only when the WebUI is not available or you need to install a specific version.
Requirements
- SSH connection to the controller (see SSH connection guide)
- Internet access on the controller
Update process
Step 1: Stop the boneIO service
sudo systemctl stop boneioEnter the SSH password of the boneio user. On a controller set up with version 1.6 or later, this is the password you chose in the first-time setup.
Step 2: Activate the virtual environment
source ~/boneio/venv/bin/activateStep 3: Update pip
pip3 install --upgrade pipStep 4: Update boneIO
pip3 install --upgrade boneioStep 5: Start the boneIO service
sudo systemctl start boneioSimplified version
You can execute all commands in three sequences:
sudo systemctl stop boneiosource ~/boneio/venv/bin/activate && pip3 install --upgrade pip && pip3 install --upgrade boneiosudo systemctl start boneioInstalling a specific version
To install a specific version:
pip3 install boneio==1.6.0Replace 1.6.0 with the desired version.
Checking the version
To check the currently installed version:
pip3 show boneio | grep VersionImportant changes
When introducing important changes to the application, we always inform about them in the release notes. Please read this information carefully before updating.
Troubleshooting
Error during pip installation
If you get an error related to pip, try:
python3 -m pip install --upgrade pipApplication doesn't start after update
Check the logs:
journalctl -u boneio -fIf there are configuration errors, you may need to adjust the config.yaml file for the new version.
Since 1.6 a controller with a broken configuration does not keep restarting — the panel opens in recovery mode instead,
where you can see the error and fix it. See Troubleshooting.
Upgrading from 1.5 over SSH
After the first start of 1.6 open the panel at https://<controller IP>:8443 — it asks you to create an administrator account
(if the 1.5 panel had a password in web.auth, sign in with it instead).
System migrations run by themselves on that first start. See Upgrading from 1.5 to 1.6.