Advise on upgrading "production environment"

Running two RPi 3B+s on DietPi v6.22.3. Amazingly stable and error free, got to say that, nevertheless time to upgrade because newer software needs newer Docker. Three issues:

  1. I need to be able to run Docker 20.10.10 or newer. Is this provided via the package manager or apt-install?

  2. Then, which OS to choose? I see there are three choices: ARMv6 32-bit, ARMv7 32-bit, ARMv8 64-bit. I found the RPi 3B+ can do 64-bit but its CPU is ARMv7 (v7l), so is ARMv8 gonna work then or not?

  3. I am familiar with Usage hints / HowTo - DietPi.com Docs, but this is after installation, right? Is it somehow possible to install the packages on SD after writing the OS (from pc), to workaround the slow RPi processor and network interface, so to reduce downtime?

Theoretically you could try to update your current system, instead of doing a new install

Docker is available via our software catalogue. We install Docker from official Docker apt repository. The version depends on your Debian version Stretch, Buster or Bullseye.

All versions are working on a RPi3B+. You are fine to use 64bit.

yes

no

a RPi3B+ is not that slow.

Initial setup + Docker installation should not take longer than 30 minutes.

1 Like

Would it stay up most of the time, less downtime versus from scratch?

Can I check this somewhere/somehow?

Thanks for the help!

You could do the package upgrades beforehand, so services would be stopped only temporarily if their packages are upgraded:

apt update
apt full-upgrade
dietpi-services start # might be required for some DietPi-controlled services

If btw recommend to do this know regularly. Those upgrades are mainly security upgrades and even that the system runs “rock solid” for years, you’ll regret if someone is using a security hole on one of your servers application :wink:. “Never touch a running system” in my personal opinion is a deadly wrong statement. But of course it depends on how important uptime is.

After packages have been upgraded, the dietpi-update should be quite quick, apart if some interactive informational dialogs.

If your system is at least Buster, AFAIK you should get the latest Docker version via APT, but I might be wrong.

Thanks. Agree. When the RPis are up to date, I will keep them up to date. Which such a long time of not upgrading, isn’t it better to do from scratch to have a faster, more reliable, cleaner system?

I found some references in files over at Index of linux/debian/dists/bullseye/stable/binary-arm64/. Should latest version.

What I wonder now, is the Debian version independent of the DietPi version? In the changelog I read stuff that seems to indicate this.

There you see latest package on Bullseye Index of linux/debian/dists/bullseye/pool/stable/arm64/

Of course doing a clean install might be best on such an old system. However even such a system could be upgraded. It depends on your needs and willingness to troubleshoot if things might not work as expected :wink:

And it depends on how much you manually changed on the system, how much work it would be to mitigate/copy data from installed software, regarding downtime. The distro upgrades like Buster to Bullseye also take quite singe time since all the several hundred packages are updated then.

Thanks for the advise guys. I will prepare Docker images in a local registry, to avoid local compilation. After that start with the least important RPi from scratch, and use that one to cover the downtime of the other, then swap them back. No distro upgrade because if that fails somehow, it will take an even longer time. :smiley:

Depends on the issue. In the meantime we should have covered majority on our blog post.

Today was the day, for the first one.
The thing was…DietPi 2019 was so old that I could not even build the Docker images that I would need after reinstalling. Paradox.

Downtime for the core services was 24 minutes. Excellent. Everything nice and smooth.

Also good to see that DriveManager does not need Docker to be down anymore.