DietPi v7.0

v7.0 -


  • DietPi-Update | A new update check system has been implemented, which checks for a minimum required Debian and DietPi version and migrates systems with either too old Debian version or too old DietPi version to a different Git branch automatically. This especially smoothens the migration of our code base to newer Debian versions and the alternative branch can be used to inform and support Debian distribution upgrades and to upgrade the DietPi code to an intermediate version from where the system can be migrated back to the regular stable/master branch. Since this change required a new repository version file, we took the chance and incremented the DietPi core version to v7.0. This however has no further meaning, all previously supported DietPi and Debian versions remain supported and the change enables us to not require fresh image installs for major upgrades, like the upgrade from v159 to v6.0 did a few years ago.
  • Network | A change has been implemented on the order in which network-related systemd service targets are reached. “” and “” are now reach after all network interfaces have been configured, rather then already after only the loopback interface “lo” has been configured. This affects only systemd services which are not started by DietPi-Services, e.g. SSH/DNS/VPN/VNC servers, with the effect that they are assured to be able to bind to interfaces/IPs, where currently they would fail. The downside is, if one has an Ethernet adapter configured via dietpi-config or /etc/network/interfaces (as allow-hotplug device), but the cable not connected, affected services may be delayed until the interface bring-up timed out.
  • DietPi-Backup | A new feature has been added which allows to automatically restore a dietpi-backup on first boot. For this set the new dietpi.txt option AUTO_SETUP_BACKUP_RESTORE=1, to get a list of found backups to select from (this does not work in combination with AUTO_SETUP_AUTOMATED=1). All attached drives are mounted temporarily and seached automatically. Set AUTO_SETUP_BACKUP_RESTORE=2 to have the first found backup restored non-interactively (this works in combination with AUTO_SETUP_AUTOMATED=1). The restore runs after the initial update, hence works with older images as well and can be done via SSH connection. Credits go to @ravenclaw900 for implementing this feature:
  • DietPi-Backup | Support for XFS and ZFS target file system types has been added, which fully support the required symlink and POSIX permissions capabilities.
  • DietPi-Config | RPi: An option has been added to toggle the SPI interface. Many thanks to @incanus for resurrecting this old feature request:
  • DietPi-Software | The mandatory reboot after installs has been removed. Installed services, which are not controlled by DietPi-Services, but would start automatically on reboot, are now started at the end of installs instead. A manual reboot is still a good idea, but strictly required only in rare cases. Many thanks to @Games-Crack for doing this suggesting:
  • DietPi-Software | Installs do not imply all APT package upgrades anymore. While we recommend to keep all APT packages upgraded regularly, the new daily APT check and info within the DietPi-Banner, helps to keep you informed to do the best decision youself whether and when to apply which package upgrade. On first run installs the full upgrade is however kept, to assure each image starts in fully upgraded state, and packages which are required for the actual software choices you’re installing, are upgraded as well, when installed already.
  • DietPi-Software | Uninstalls do not stop other services anymore. E.g. your webserver or media streaming server will stay active while you uninstall that other software that you don’t require anymore. Since uninstalls do not require much RAM or CPU resources, this is perfectly fine. Many thanks to @mrgreaper giving the hint:
  • DietPi-Software | Unbound: On install in combination with Pi-hole, no additional configuration file will be created anymore but the adjusted interface binding and port will be applied to “/etc/unbound/unbound.conf.d/dietpi.conf”. Declaring “interface” in two configuration files do not override each other but lead to two concurrent bindings, which is not intended. The two files, if present, will be merged as well on DietPi update. It is hence intended that admins change “dietpi.conf” directly, if required, and this file won’t be overwritten on reinstalls to preserve local changes. Additionally, on new installs, the configuration file will be better sorted and contain comments to explain their purpose.
  • DietPi-Software | Unbound: On new installs, by default access is now granted to all private IPv4 and IPv6 address ranges instead of to the subnet only, which includes VPNs, containers and cases of multiple local networks the server is attached to.
  • DietPi-Software | Unbound: A monthly cron job is now created to keep the root hints file updated. Many thanks to @APraxx for doing this suggestion:
  • DietPi-Software | Python 3 pip: pip and pip-based installs on ARMv6 and ARMv7 boards will have the repository for pre-compiled wheels added automatically, which can reduce build dependencies and compile time dramatically.
  • DietPi-Software | Node-RED: New installs and reinstalls with setup Node-RED as local module for the “nodered” service user, rather than as global system module/command. This allows upgrading and removing all related Node modules through the web interface, instead of just the ones which were installed via web interface. Additionally a console alias for the “node-red-admin” CLI command has been added so that running this command with any user will call the local Node-RED instance as “nodered” service user.
  • DietPi-Software | Docker: The Docker APT repository is now installed manually instead of using the official Docker installer. This allows us to enable the Docker install option for Debian Bullseye systems, if only to allow widened testing of this upcoming Debian release with DietPi.

Interface Changes:

  • DietPi-Banner | Running the script without input argument will now open the menu instead of printing the banner. The console alias has been adjusted accordingly, so that it is now possible to run “dietpi-banner 0” and “dietpi-banner 1” from console to have full and short banner versions printed. The “dietpi-banner” console command remains opening the menu.

New Software:

  • DietPi-Software | Docker Compose: A tool to define and run multi-container Docker applications can now be installed through our software selection. Docker will be pulled in as dependency automatically.
  • DietPi-Software | Box86: An x86 wrapper/emulator for ARMv7 systems is now available for install. Thanks to it’s ability to wrap ARMv7 shared system libraries to be used with i386 binaries, often no additional libraries need to be installed. Thanks to binfmt, it will be invoked automatically when an i386 binary is executed.
  • DietPi-Software | Steam: By automatically pulling in Box86 as dependency, Steam can now be installed on ARMv7 boards. It won’t run perfectly stable yet and has limited features and game support, but we’re optimistic that further improvements will address this in the future. Check out our documentation about it:
  • DietPi-Software | mjpg-streamer: Lightweight multi-source and multi-output plugin JPEG streamer, now available for install. By default your attached camera capture will be streamed to a custom HTTP port. When installed along with OctoPrint, both will be automatically configured to work together. The Raspberry Pi camera module support is enabled by default, when installed on Raspberry Pi.


  • Audio | Resolved a bug with Debian Buster, where the ALSA state daemon was always running, even when it was not configured.
  • DietPi-Globals | G_OBTAIN_CPU_TEMP: Negative temperatures are not trusted anymore, “N/A” will be printed instead. This allows a generic approach to fix/allow temperature estimation on further SBC models. Many thanks to @Thanapat for reporting a related issue on Roseapple Pi:
  • DietPi-Set_swapfile | Resolve an issue where “zram”/“zram0” dietpi.txt path entries were dropped, when running the script without input arguments. This especially broke applying zram-swap on first boot. Many thanks to @Dr0bac for reporting this issue:
  • DietPi-Software | Bitwarden_RS: Resolved an issue where the self-signed TLS certificate could not be imported on iOS. To apply this fix to an existing instance, the configuration file “/mnt/dietpi_userdata/bitwarden_rs/bitwarden_rs.env” needs to be removed or moved to a different location, so “dietpi-software reinstall 183” will re-create the configuration and TLS certificate.
  • DietPi-Software | Unbound: Resolved an issue where during install in combination with Pi-hole the service restart could have failed. Many thanks to @Ernstian for reporting this issue:
  • DietPi-Software | Unbound: Resolved an issue where the service start failed if the host system had a local IP address outside of the subnet. Many thanks to @faxesystem for reporting this issue:
  • DietPi-Software | ReadyMedia: Resolved an issue where the media library was not rescanned on service start. Many thanks to @AdamFarnsworth0 for reporting this issue:
  • DietPi-Software | WiFi Hotspot: Resolved an issue where the install on Armbian-based images with RTL8188C* WiFi chip failed. Many thanks to @smogan71 for reporting this issue:
  • DietPi-Software | Medusa: This software option has been disabled on Stretch systems, since it now requires Python >=3.6, which is not available in the Debian Stretch repository. If you run Medusa on a Stretch system, it will continue to work, but updating will either not be possible or break it. Many thanks to @aermak for reporting this issue:
  • DietPi-Software | WiringPi: Resolved an issue where the install failed, if the /usr/local/bin directory was not present. Many thanks to @bruz for reporting this issue:
  • DietPi-Software | PaperMC: Resolved an issue where the install failed due to changed download URLs and stabilised service start and config creation by setting the Java heap size and allowing more time for the startup on smaller SBCs. Many thanks to @omavoss for reporting this issue:
  • DietPi-Software | OpenTyrian: The install option has been disabled on x86_64, since the Debian package comes with a different file structure and it has been disabled on 64-bit RPi systems, since the binary has been compiled for armhf.
  • DietPi-Software | Domoticz: Resolved an issue where saving custom scripts and starting with a template did not work. Many thanks to @tec13 for reporting this issue:
  • DietPi-Software | Resolved an issue where for ruTorrent, Koel and Bitwarden_RS the automatic newest version detection failed and instead a possibly older fallback was used. Many thanks to @kelvmod for reporting this issue:
  • DietPi-Software | LXQt: Resolved visual issues with our default configuration of Debian Buster, drastically simplified and cleaned up the files we ship.
  • DietPi-Software | SABnzbd: Resolved an issue on Stretch where the install failed due to raised minimum Python version with SABnzbd v3.2.0. If Python 3.5 is installed, SABnzbd v3.1.1 will be installed now to allow keeping the install option enabled for now. Many thanks to @19eighties for reporting this issue:

As always, many smaller code performance and stability improvements, visual and spelling fixes have been done, too much to list all of them here. Check out all code changes of this release on GitHub:

Known/Outstanding Issues:

For all additional issues that may appear after release, please see the following link for active tickets: