DietPi
Server & OS ManagementA lightweight Debian‑based operating system optimized for minimal CPU and RAM usage on single‑board computers
Features
- Debian‑derived OS highly optimised for low resource consumption
- Whiptail menus simplify configuration and software installation
- `dietpi-software` provides ready‑to‑run, pre‑optimised applications
- `dietpi-services` lets you adjust service priority levels
- `dietpi-update` enables seamless system updates without re‑imaging
Recent releases
View all 6 releases →
Upgrade now
v10.4
Breaking risk
RCE / SSRF
Breaking upgrade
Kernel CVE fixes + log location change
v10.3
Breaking risk
⚠ Upgrade required
- QuiteRSS can still be installed manually on Bookworm with `apt install quiterss` or replaced by RSS Guard (`apt install rssguard`).
- Home Assistant migration is optional; run `dietpi-software reinstall 157` to perform it and note that ARMv6 support will be lost.
- USB auto‑mount in DietPi-Drive_Manager respects existing fstab entries with x-systemd.automount or noauto.
Breaking changes
- Removed software: QuiteRSS (no longer available via dietpi-software)
- Home Assistant migration to uv drops support for ARMv6 architecture
Notable features
- Added Orange Pi 4 LTS image support
- Added Prometheus to DietPi software catalogue (ID 218)
- DietPi-AutoStart: Added Amiberry-Lite autostart option (ID 3)
Full changelog
New images
- Orange Pi 4 LTS | Support and images for the LTS variant of this Orange Pi SBC with Rockchip RK3399 SoC have been added. Many thanks to @Gibbz for implementing this: https://github.com/MichaIng/DietPi/pull/8057
New software
- Prometheus | This open-source systems monitoring and alerting toolkit has been added to the DietPi software catalogue (ID 218).
Removed software
- QuiteRSS | This package has been removed from Debian since Trixie, since it depends on an outdated library, and there was no development for over 5 years. We hence remove it as well from
dietpi-software. It can be still installed manually on Bookworm systems withapt install quiterss(dietpi-softwaredid nothing else), and similarly it can be removed withapt autopurge quiterss. Alternatively, RSS Guard can be used by installing it viaapt install rssguard: https://github.com/martinrotter/rssguard
Enhancements
- DietPi-AutoStart | An Amiberry-Lite autostart option has been added as ID 3, which enables the
amiberry-lite.serviceto start it early at boot. This works like the Amiberry fast boot option. A "standard boot" option has not been added, since there should be no reason to use it. Many thanks to@thedaemonand @orbitalflower for opening the request: https://dietpi.com/forum/t/25025, https://github.com/MichaIng/DietPi/issues/8061 - DietPi-Drive_Manager | Using the drive manager does not recreate
/etc/fstabanymore. Instead it will only change, add, or remove a particular entry, when drives are mounted, unmounted, or options changed respectively. That way it is compatible with custom mount options or types manually added to/etc/fstab, and does not overwrite admin intentions. - DietPi-Drive_Manager | A new USB auto-mount feature has been added. When enabled, a udev rule is installed that automatically mounts USB storage devices to
/media/<uuid>when plugged in, and unmounts them on removal. Devices with an/etc/fstabentry are handled accordingly: entries withx-systemd.automountare left to systemd's lazy-mount mechanism, and entries withnoautoare skipped entirely, respecting the admin's intention of manual-only mounting. - DietPi-Display | Support for Odroid C1 and XU4 with
/boot/boot.inihas been added. - DietPi-Software | Home Assistant: We migrated from
pyenvtouvfor installing and managing the HA Python environment. That way, Python does not need to be compiled anymore, saving significant time and resources during (re)installs. Also, the existing Python environment is kept and updated as long as the Python version matches, so that a reinstall does not necessarily reinstall all Python modules. As alignment and to simplify the migration, the install directory has been moved from/home/homeassistantto/opt/homeassistant. The DietPi update does not enforce the Home Assistant migration. You can do this at your convenience viadietpi-software reinstall 157. As a consequential downside, support for ARMv6 has been removed, sinceuv's Python builds do not support this architecture, and it cannot be used to compile Python the waypyenvdoes.
Bug fixes
- Allwinner H5/H6 | Resolved a regression with a recent U-Boot build, which caused that only a single CPU core was used on those SoCs. A fixed U-Boot build is flashed during this DietPi update. Many thanks to @eggypesela for reporting this issue, and credits to the Armbian team for the fix: https://github.com/MichaIng/DietPi/issues/7974
- Rockchip RK356x | Resolved an issue where PCIe devices were randomly not detected, like M.2 SSDs or 2.5 Gbit Ethernet adapters on NanoPi R5S/R5C. Many thanks to @InnovoDeveloper, @eggcllnt and others for reporting related issues: https://github.com/MichaIng/DietPi/issues/7559, https://github.com/MichaIng/DietPi/issues/7517
- Orange Pi Zero 2W | Resolved an issue where the Ethernet adapter of the extension board stopped working after the upgrade to Linux 6.18, due to a missing driver. Many thanks to
@Totoffor reporting this issue: https://dietpi.com/forum/t/25125 - DietPi-AutoStart | Resolved an issue where switching away from the Amiberry fast boot option did not disable the service as intended. Many thanks to @orbitalflower for reporting this issue: https://github.com/MichaIng/DietPi/issues/8059
- DietPi-Config | Resolved a DietPi v10.1 regression where WiFi SSID with spaces were only partially shown and applied. Many thanks to @Persie0 for reporting this issue: https://github.com/MichaIng/DietPi/issues/8076
- DietPi-Dashboard | Resolved an issue where the software install/uninstall pages were empty if non-English locales were used. The underlying reason was a bug in
dietpi-software, which assumes English locales for parsing memory sizes.dietpi-software listcalls however do not enforce English locales and do not require the memory size info either. Many thanks to @Colossus5000 and@3rinkfor reporting this issue: https://github.com/MichaIng/DietPi/issues/8044, https://dietpi.com/forum/t/25065 - DietPi-Software | Home Assistant: Resolved an issue where restoring backups failed, since
/mnt/dietpi_userdata/homeassistant/depswas a symlink in our case, pointing to thepyenvPython environment, to deduplicate module installs. Withuv, however, we use avenvnow, which HA uses directly, hence/mnt/dietpi_userdata/homeassistant/depsis not needed anymore. It is hence removed when (re)installing Home Assistant, allowing to restore backups. Many thanks to @Dynamic5912 for reporting this issue: https://github.com/MichaIng/DietPi/issues/7733 - DietPi-Software | Worked around an issue where some services with an
EnvironmentFilebelow/mnt/dietpi_userdatamay have failed to start, if it has been moved to an external drive. Many thanks to @jcw for reporting this issue: https://github.com/MichaIng/DietPi/issues/8070
v10.2
Breaking risk
Notable features
- Immich (ID 215) – high‑performance self‑hosted photo and video manager (x86_64/ARMv8)
- Immich Machine Learning (ID 216) – facial recognition & CLIP smart search server
- uv (ID 217) – ultra‑fast Rust‑based Python package/project manager
Full changelog
New software
- Immich | This high performance self-hosted photo and video management solution has been added to our software catalogue. Available on x86_64 and ARMv8 only (ID 215).
- Immich Machine Learning | The machine learning server for Immich, enabling facial recognition and smart search via CLIP embeddings, has been added as a separate software option. It can be installed on the same system as Immich or on a remote machine. Available on x86_64 and ARMv8 only (ID 216).
- uv | This extremely fast Python package and project manager, written in Rust, has been added as a standalone software option (ID 217).
- RustDesk Client | Client software for the RustDesk desktop sharing platform (ID 13). Fits perfect to our software package "RustDesk Server". X11 needs to be installed or will be installed during the RustDesk Client installation process.
Enhancements
- DietPi-Benchmark | The benchmark script has been moved to
/boot/dietpi/dietpi-benchmarkand a shell alias has been added, so it can now be called directly from the console asdietpi-benchmarkwithout having to browse throughdietpi-configfirst. - DietPi-Servarr_to_RAM | The original script
dietpi-arr_to_RAMwas renamed todietpi-servarr_to_ram, got Prowlarr support, and protection against malicious symlinks when creating files and directories. - DietPi-Config | The performance options were expanded by a menu to select the CPU temperature sensor used across our scripts. It affects the CPU temperature shown in performance options, in "cpu" command output, the DietPi login banner, and elsewhere within our scripts and menus. Since the sysfs nodes for temperature sensors are not consistent across devices, the hardcoded logic we use does not always pick the right one. Now you can select from a list of detected sensor paths with their returned temperatures, or enter a custom path to read from. A related
dietpi.txtsettingCONFIG_CPU_TEMP_PATHhas been added as well. Many thanks to @N7-BADA for adding this feature: https://github.com/MichaIng/DietPi/pull/8012 - DietPi-Software | A desktop selection menu was added to make it clearer and easier to get started for those who require a graphical desktop environment. A new
dietpi.txtsettingAUTO_SETUP_DESKTOPallows to pre-select a desktop for first boot. It takes textual values like "lxde" and "xfce", and serves as better accessible alternative to numerical software ID selections likeAUTO_SETUP_INSTALL_SOFTWARE_ID=23. - DietPi-Software | Home Assistant: The Python version for the
pyenvhas been raised to latest 3.14, needed since Home Assistant v2026.3. Many thanks to @lukaszsobala for reporting the missing update: https://github.com/MichaIng/DietPi/issues/8003 - DietPi-Software | myMPD/UrBackup: Support for ARMv6 from Trixie on has been enabled. The openSUSE Build Service does now provide a Raspbian 13 suite, and respective myMPD and UrBackup packages, distributed via OBS, are available.
- DietPi-Software | Amiberry: Packages for the new Amiberry v8.0.0 with embedded SDL3 v3.4.2 are available. Note that this includes a bunch of major changes in both: Amiberry and the SDL backend library, hence expect some bugs and glitches. We patched some known issues our end, and Amiberry v8.0.1 will contain another a large number of fixes and polishing as well. You can always downgrade the package, if needed:
apt install amiberry=7.1.1-dietpi1
Bug fixes
- DietPi-Globals | G_AG_CHECK_INSTALL_PREREQ: Resolved an issue where the package installation was skipped even if the package was removed with only config files left. Many thanks to @Sympatron for reporting this issue: https://github.com/MichaIng/DietPi/issues/7772
- DietPi-Software | Resolved an issue where the check for the newest software version could have failed, since the GitHub API started to return the JSON response as a single line by times. We use now a parsing method that works for single-line and multi-line responses the same way. Many thanks to @luminosity-design for reporting this issue: https://github.com/MichaIng/DietPi/issues/8009
- DietPi-Software | phpBB: Resolved a DietPi v9.17 regression where the download failed since the URL was not forged correctly. Many thanks to @yetanotherlurkeree for reporting this issue: https://github.com/MichaIng/DietPi/issues/7971
- DietPi-Software | K3s: Resolved an issue there the the
dietpi-k3s.yamlwas not imported from the FAT partition of the image for an automated install on first boot. Many thanks to @grhawk for reporting this issue: https://github.com/MichaIng/DietPi/issues/7985 - DietPi-Software | MPD: Resolved an issue where
systemctl restart mpdlead to a lost UNIX domain socket, since an activempd.socketpreventsmpd.servicefrom recreating the socket on its own. The activation socket is now disabled and untied from the service. It has no purpose if the service is anyway started at boot, but causes mentioned issue. Many thanks to @k3ninho for reporting this issue, and enabling compatibility of our ympd package with a setup, that starts the MPD service only on demand (frontend/client access) via activation socket: https://github.com/MichaIng/DietPi/pull/7986 - DietPi-Software | LXQt: Resolved an issue where LXQt was installed without full icon theme (Adwaita is not accepted anymore), and an invisible panel start menu (the package default is now a "fancymenu"). Many thanks to
@Redekfor reporting this issue: https://dietpi.com/blog/?p=4014#comment-6172 - DietPi-Software | PaperMC: Resolved an issue where on old build was installed because an old API endpoint was used to detect the latest version and build.
- DietPi-Software | Node-RED: Resolved an issue where the
node-red-node-pi-gpioplugin failed to function with python3-rpi-lgpio, since the library tries to create a notification pipe file in the current directory. Thenode-red.servicewill now start in/mnt/dietpi_userdata/node-red, where it is write access. Many thanks to@devifastfor reporting this issue: https://discourse.nodered.org/t/100595/25 - DietPi-Software | Moonlight (GUI): Resolved an issue where streaming switched back to the loading stream if the
libgles2was not installed. Many thanks to @daredevil2033 for reporting this issue: https://github.com/MichaIng/DietPi/issues/7885 - DietPi-Software | Home Assistant: Resolved an issue where the install could have failed on ARMv6 and RISC-V systems due to insufficient memory or
/tmptmpfs size, caused almost entirely by thegrpciowheel build. Parallel build jobs are now reduced and pip's temporary directory moved to disk if needed. Reduced swap space utilization usually speeds up the overall build, despite fewer parallel build processes and build dirs on disk. Many thanks to @frentemorao for reporting this issue: https://github.com/MichaIng/DietPi/issues/7449
v10.1
Breaking risk
⚠ Upgrade required
- Synapse, motionEye, and OctoPrint are automatically reinstalled during DietPi update to perform the Python venv migration while preserving user data and plugins.
- If you need to install packages at the system site with `pip`, add `--break-system-packages` flag to each call.
Breaking changes
- Python software options now require and use virtual environments (`venv`) instead of installing to the system site `/usr/local/lib/python3.*`; existing installations are automatically migrated, `break-system-packages` flag removed.
- `/etc/pip.conf` no longer contains the `break-system-packages` setting; users needing system‑wide pip installs must add `--break-system-packages` CLI flag manually.
Notable features
- Added support for NanoPi Zero2 SBC (Rockchip RK3528).
- Added WhoDB database management tool with AI chat interface.
- Navidrome now supports RISC‑V architecture (v0.60.0).
Full changelog
New images
- NanoPi Zero2 | Support for this headless FriendlyELEC SBC with Rockchip RK3528 SoC has been added to DietPi.
New software
- WhoDB | This database management tool with AI-powered chat interface has been added to our software catalogue. Many thanks to @Joulinar for implementing this software option: https://github.com/MichaIng/DietPi/issues/7818
Enhancements
- NanoPi R5C | Resolved an issue where the Ethernet network interface names could have swapped on reboots. They are now assigned with eth0 as LAN port and eth1 as WAN port. Many thanks to
@fireboxfor reporting this issue: https://dietpi.com/forum/t/24845/24 - DietPi-Tools | DietPi-Banner: New option to output the Linux kernel version
- DietPi-Software | Navidrome: Support for RISC-V has been unlocked, as official builds have been added with the v0.60.0 release on GitHub.
- DietPi-Software | Python 3: All Python software options make now use of
venvs, instead of being installed to the system site/usr/local/lib/python3.*/dist-packages. Recentpiphas increasing issues managing modules there on distros which have own Python module packages. Modern setups almost require isolated environments likevenv. Synapse, motionEye, and OctoPrint are reinstalled on DietPi update to perform the migration directly, preserving user data and plugins. Thebreak-system-packagesflag in/etc/pip.confis consequently removed. If you need to manage packages viapipat the system site, add the--break-system-packagesCLI flag to each call. - DietPi-Software | MinIO: The console client
mcis now installed along with the server, to make up with the lost administration functionalities of the community server web UI. A shell alias is generated to invoke it asminio-useruser, using a pre-generated config file/mnt/dietpi_userdata/minio-data/.mc/config.json. It adds the local MinIO server instance aslocalalias. Additionally, the default credentials have been changed to username (access key) "dietpi" and the default software password as secret key. Since MinIO requires the password to be at least 8 characters long, the default software password is concatenated until 8 characters are reached. E.g. if "test" was used, it will be "testtest" for MinIO. However, don't try it and use a secure default software password of 12 characters or more on production systems 😉. Change it afterwards for the MinIO server in/etc/default/minio, and for the console clientmcaccordingly in/mnt/dietpi_userdata/minio-data/.mc/config.json. - DietPi-Software | TigerVNC/RealVNC/XRDP: Those remote desktop servers do not actually require a desktop anymore, but just the X server. This allows lighter setups when using them to show an individual GUI application like Chromium only, instead of a full desktop. Many thanks to @fow0ryl for doing this suggestion: https://github.com/MichaIng/DietPi/issues/7947
Bug fixes
- ZeroPi | Resolved an issue where images failed to boot because of a faulty bootloader update. Many thanks to @TimoAbt and @dan-hughes for reporting this issue: https://github.com/MichaIng/DietPi/issues/7715
- DietPi-Software | BirdNET-Go: Resolved an issue where the install failed since the initial call tries to create the logs directory in the working directory as unprivileged user, rather than in its home directory. Many thanks to @shagr4th for implementing a fix: https://github.com/MichaIng/DietPi/pull/7929
- DietPi-Software | Chromium: Resolved a v10.0 regression where the kiosk mode
dietpi-autostartoption failed, since the script tried to call it withxinit/startx chromium, while it requires the full pathxinit/startx /usr/bin/chromium. Many thanks to @PTXRM1980 and @binarypickle for reporting this issue: https://github.com/MichaIng/DietPi/issues/7923 - DietPi-Software | ADS-B Feeder: Resolved an issue where the setup could have failed on RISC-V and 32-bit ARM system due to missing dependencies for the Python cryptography module.
- DietPi-Software | Gogs: Resolved an issue where ARMv8 systems were not able to detect the latest version due to a changed asset name suffix in the GitHub releases for this architecture. Many thanks to @deeejas for reporting this issue: https://github.com/MichaIng/DietPi/issues/7945
- DietPi-Software | Plex Media Server: Resolved an issue where APT was throwing errors and package installs/upgrades failed because of a faulty key rotation done at the Plex APT repository. The old repository has been since shut down and a new one set up, which we use now. The migration is done automatically on DietPi update. Many thanks to @Krouwndouwn for reporting this issue: https://github.com/MichaIng/DietPi/issues/7925
- DietPi-Software | microblog.pub: Resolved an issue where the install failed since
pyenvPython 3.11 or older builds require thepatchpackage now. Many thanks to@giloufor reporting this issue: https://dietpi.com/forum/t/24975/2 - DietPi-Software | Pi-hole: Resolved an issue where Pi-hole's setup dialogs did print cryptic characters on input when selected for install during first run setup.
dialogrequires either STDOUT or STDOUT directly attached to a terminal, whiledietpi-logincallsdietpi-softwarewith both streams piped intoteefor login, on first login. Its STDOUT and STDERR are now redirected back to the parent shell file descriptors (terminal) viadialogwrapper function. Many thanks to@sheddyianfor reporting this issue: https://dietpi.com/forum/t/24889
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.