2022-05-03 11:00:09 -06:00
|
|
|
# Upgrading WROLPi
|
|
|
|
|
|
2022-05-03 11:03:33 -06:00
|
|
|
# Table of Contents
|
|
|
|
|
|
|
|
|
|
* [Upgrading Docker containers](#upgrading-docker-containers)
|
2023-09-24 20:10:09 -06:00
|
|
|
* [Upgrading Raspberry Pi or Debian 12 Installation](#upgrading-raspberry-pi-or-debian-12-installation)
|
2026-05-28 21:33:22 -06:00
|
|
|
* [Upgrading a WROLPi Portable USB](#upgrading-a-wrolpi-portable-usb)
|
2022-05-03 11:03:33 -06:00
|
|
|
|
2022-05-03 11:00:09 -06:00
|
|
|
## Upgrading Docker containers
|
|
|
|
|
|
2023-04-10 13:25:50 -06:00
|
|
|
1. Stop docker containers
|
2022-05-03 11:00:09 -06:00
|
|
|
* `docker-compose stop`
|
2023-04-10 13:25:50 -06:00
|
|
|
2. Pull the latest master
|
|
|
|
|
* `git pull origin master --ff`
|
2022-05-03 11:00:09 -06:00
|
|
|
3. Build all docker containers
|
|
|
|
|
* `docker-compose build --parallel`
|
2022-05-03 11:07:48 -06:00
|
|
|
4. Create the map volumes
|
2023-02-23 12:09:19 -07:00
|
|
|
* `docker volume create --name=openstreetmap-data`
|
|
|
|
|
* `docker volume create --name=openstreetmap-rendered-tiles`
|
2022-05-03 11:07:48 -06:00
|
|
|
5. Turn on the database
|
2022-05-03 11:00:09 -06:00
|
|
|
* `docker-compose up -d db`
|
2022-05-03 11:07:48 -06:00
|
|
|
6. Upgrade the database
|
2022-05-03 11:00:09 -06:00
|
|
|
* `docker-compose run --rm api db upgrade`
|
2022-05-03 11:07:48 -06:00
|
|
|
7. Start all docker containers
|
2022-05-03 11:00:09 -06:00
|
|
|
* `docker-compose up -d`
|
2022-05-03 11:03:33 -06:00
|
|
|
|
2023-09-24 20:10:09 -06:00
|
|
|
## Upgrading Raspberry Pi or Debian 12 Installation
|
2022-05-03 11:03:33 -06:00
|
|
|
|
2023-02-23 12:09:19 -07:00
|
|
|
1. Run the upgrade script
|
|
|
|
|
* `sudo /bin/bash /opt/wrolpi/upgrade.sh`
|
2023-05-01 13:43:24 -06:00
|
|
|
* (If the upgrade script does not exist, run the installation script: `sudo /bin/bash /opt/wrolpi/install.sh`)
|
2026-05-28 21:33:22 -06:00
|
|
|
|
|
|
|
|
## Upgrading a WROLPi Portable USB
|
|
|
|
|
|
|
|
|
|
A [WROLPi Portable](INSTALL.md#wrolpi-portable-live-usb) USB carries two
|
|
|
|
|
partitions: the ISO (boot) partition and a `persistence` partition — created on
|
|
|
|
|
the first boot — that holds your library, database, and configuration. To move
|
|
|
|
|
to a newer ISO without losing the persistence partition, use the
|
|
|
|
|
`scripts/wrolpi-usb.sh` tool from any Linux host (your own computer, or the
|
|
|
|
|
WROLPi USB itself booted on another machine).
|
|
|
|
|
|
|
|
|
|
1. Download the new `WROLPi-v*-amd64.iso` from [wrolpi.org](https://wrolpi.org).
|
|
|
|
|
2. Plug the WROLPi USB into a Linux host and identify its device node (e.g. `/dev/sdb`) with `lsblk`.
|
|
|
|
|
3. Run the upgrade:
|
|
|
|
|
* `sudo ./scripts/wrolpi-usb.sh upgrade WROLPi-v<version>-amd64.iso /dev/sdX`
|
|
|
|
|
4. Eject the USB and boot it to verify.
|
|
|
|
|
|
|
|
|
|
The tool backs up the current partition table to `/tmp/` first, overwrites only
|
|
|
|
|
the ISO partition, and re-adds the `persistence` partition entry at its original
|
|
|
|
|
location. The ISO partition reserves 8 GiB of headroom so a larger future ISO
|
|
|
|
|
still fits ahead of the persistence partition.
|
|
|
|
|
|
|
|
|
|
### Converting an existing data drive is not supported
|
|
|
|
|
|
|
|
|
|
There is no in-place conversion of a drive that already holds your data into a
|
|
|
|
|
WROLPi Portable USB — flashing the ISO erases the whole drive. To turn a drive
|
|
|
|
|
you already use into a WROLPi USB without losing your files:
|
|
|
|
|
|
|
|
|
|
1. Back up everything on the drive to another disk.
|
|
|
|
|
2. Flash the whole drive with the ISO (`dd`/Etcher/Rufus — this erases it).
|
|
|
|
|
3. Boot once so WROLPi creates its persistence partition and sets itself up.
|
|
|
|
|
4. Copy your data into `/media/wrolpi/`, then let WROLPi refresh/repair to index the restored files.
|
|
|
|
|
|
|
|
|
|
Afterwards, future ISO upgrades preserve your library via the `upgrade` command above.
|