Breaking updates
Introduction
This page is dedicated to describe breaking updates and guide you through the process of updating your instance to the newer versions.
Update from 3.x.x to 4.0.0 (Beta)
In the version 4.0.0 we introduced a major new feature: multi app-store support. This feature requires you to update your folder structure to support multiple app-stores. In previous versions, the folder structure was like this:
From now on, the folder structure will include a new sub-folder for each app-store. The new folder structure will look like this:
We have prepared a script that will automatically update your folder structure to the new format. You can run it by executing the following command in your runtipi
directory:
Inside the runtipi directory, download the script:
curl -sSL https://raw.githubusercontent.com/runtipi/runtipi/release/4.0.0/scripts/temp-update-3.0.0-to-4.0.0-beta.sh -o update_script.sh
Make the script executable:
chmod +x update_script.sh
Run the script:
sudo ./update_script.sh
Or you can follow all the manual steps below:
Ensure you have a backup of your instance
You can refer to the backup documentation for more information on how to backup your data.
Stop all you applications
Navigate to your runtipi dashboard and stop all your applications one by one.
Stop your Runtipi instance
./runtipi-cli stop
Move your existing directories to a temporary location
Run each of the following commands in your runtipi
directory:
Create a temporary directory to store your existing directories:
mkdir -p migration-backups
Move your existing directories to the newly created temporary directory:
mv app-data migration-backups/app-data
mv apps migration-backups/apps
mv user-config migration-backups/user-config
mv backups migration-backups/backups
Create the new directories:
mkdir -p app-data/migrated apps/migrated user-config/migrated backups/migrated
Note: The name migrated
is important. This is the new name of your
existing app-store.
Move back your existing directories to the new locations
Move back your existing data to the new locations. You can do this by running the following commands:
mv migration-backups/apps/* apps/migrated/
mv migration-backups/app-data/* app-data/migrated/
mv migration-backups/user-config/* user-config/migrated/
mv migration-backups/backups/* backups/migrated/
If you had a custom tipi-compose.yml
file, you will need to move it back but
outside of the migrated
folder. You can do this by running the following
command:
mv migration-backups/user-config/tipi-compose.yml user-config/tipi-compose.yml
Make sure you have moved all your data
Check that you did not miss any app. You can do this by running the following command:
ls -la migration-backups/apps
ls -la migration-backups/app-data
ls -la migration-backups/user-config
ls -la migration-backups/backups
It should print an empty list.
Determine the architecture of your system
uname -m
The output should be either x86_64
, arm64
or aarch64
If you are running x86_64
architecture, the asset you need to download is runtipi-cli-linux-x86_64.tar.gz
otherwise you need to download runtipi-cli-linux-aarch64.tar.gz
.
Download the new CLI in your runtipi
directory
curl -sSL https://github.com/runtipi/runtipi/releases/download/v4.0.0-beta.5/<asset-name> | tar -xz
Remove the old CLI
rm runtipi-cli
Rename the new CLI
mv runtipi-cli-linux-<arch> runtipi-cli
Make the new CLI executable
chmod +x ./runtipi-cli
Start your instance
sudo ./runtipi-cli start
Check your instance
Navigate to your runtipi dashboard and start all your applications one by one. Make sure everything is working as expected.
Clean up
After you are sure everything is working as expected, you can delete the temporary directory:
rm -rf migration-backups
Update from 2.x.x to 3.0.0
In the version 3.0.0 we completely re-wrote the runtipi-cli
tool.
The new CLI is written in Rust and it is much more stable, faster and smaller than the previous version.
You won’t be able to update to the version 3.0.0 using the old node CLI. In order to update to the version 3.0.0 you will need to manually download the new CLI and
replace the old one.
We have prepared a script that will do the update for you. You can run it by executing the following command in your runtipi
directory:
curl -sSL https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/update-2.0.0-to-3.0.0.sh | bash
Or you can do it manually by following these steps:
Stop your instance
cd /path/to/runtipi
./runtipi-cli stop
Determine the architecture of your system
uname -m
The output should be either x86_64
, arm64
or aarch64
If you are running x86_64
architecture, the asset you need to download is runtipi-cli-linux-x86_64.tar.gz
otherwise you need to download runtipi-cli-linux-aarch64.tar.gz
.
Download the new CLI in your runtipi
directory
curl -sSL https://github.com/runtipi/runtipi/releases/download/v3.0.0/<asset-name> | tar -xz
Remove the old CLI
rm runtipi-cli
Rename the new CLI
mv runtipi-cli-linux-<arch> runtipi-cli
Make the new CLI executable
chmod +x ./runtipi-cli
Start your instance
./runtipi-cli start
Update from 1.x.x to 2.0.0
In the previous release (v1.6.0) we introduced the new rootless mode. After some reports from our users, we realized that the rootless mode is not working as expected.
This version messes up the permissions of the files and folders in the runtipi
directory.
Updating to 2.0.0 requires you to manually run the update script with sudo
privileges in order to fix the permissions.
sudo ./runtipi-cli update v2.0.0
Update from 0.x.x to 1.0.0
In the version 1.0.0 we officially dropped support for 32-bit systems. If you are running 32-bit system, you will need to upgrade to 64-bit system. If you are running 64-bit system, you can safely upgrade to the version 1.0.0 without any manual steps
sudo ./scripts/system.sh update