diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5e124aa68..05aa8c314 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -51,8 +51,8 @@ jobs: # Skip on push events into master if: always() && steps.build.outcome == 'success' && ! endsWith(github.ref, '/master') run: | - curl -sSfLo lychee.tar.gz "$(curl -sSfH 'Authorization: Bearer ${{ github.token }}' 'https://api.github.com/repos/lycheeverse/lychee/releases/latest' | mawk -F\" '/^ *"browser_download_url": ".*x86_64-unknown-linux-gnu\.tar\.gz"$/{print $4;exit}')" - tar xf lychee.tar.gz + curl -sSfLo lychee.tar.gz "$(curl -sSfH 'Authorization: Bearer ${{ github.token }}' 'https://api.github.com/repos/lycheeverse/lychee/releases/latest' | grep -Po '"browser_download_url": *"\K[^"]*/lychee-x86_64-unknown-linux-gnu\.tar\.gz(?=")')" + tar xf lychee.tar.gz --strip-components=1 lychee-x86_64-unknown-linux-gnu/lychee - name: Restore lychee cache uses: actions/cache/restore@v5 if: always() && steps.lychee.outcome == 'success' diff --git a/.wordlist.txt b/.wordlist.txt index 8b4b8a007..0b6b5adc4 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -43,6 +43,8 @@ audiobooks Audiophonics Autobooting autologin +automount +automounts autostart AutoStart Avahi @@ -104,6 +106,7 @@ Clonezilla Cloudflare CloudPrint CloudShell +Codeberg codec codecs compat @@ -128,6 +131,7 @@ Cuberite customisable customizable CVE +CVEs DAC DALL DarkBetter @@ -155,6 +159,7 @@ distro DIY DLNA dl +dlp dm DNS Domoticz @@ -176,6 +181,7 @@ ebook ebooks EDL EEPROM +EFI embeddings Emby eMMC @@ -553,6 +559,7 @@ Prowlarr Proxmox PSK PSU +pubkey PuTTY PVM PVR @@ -870,6 +877,8 @@ YDNS yescrypt ympd youtube +yt +yt-dlp Zeroconf ZeroPi ZeroTier diff --git a/docs/assets/images/dietpi-autostart.jpg b/docs/assets/images/dietpi-autostart.jpg deleted file mode 100644 index 78fa5d0d6..000000000 Binary files a/docs/assets/images/dietpi-autostart.jpg and /dev/null differ diff --git a/docs/assets/images/dietpi-autostart.webp b/docs/assets/images/dietpi-autostart.webp new file mode 100644 index 000000000..648469b43 Binary files /dev/null and b/docs/assets/images/dietpi-autostart.webp differ diff --git a/docs/assets/images/dietpi-drive-manager_1.webp b/docs/assets/images/dietpi-drive-manager_1.webp new file mode 100644 index 000000000..808d4d880 Binary files /dev/null and b/docs/assets/images/dietpi-drive-manager_1.webp differ diff --git a/docs/assets/images/dietpi-drive-manager_2.webp b/docs/assets/images/dietpi-drive-manager_2.webp new file mode 100644 index 000000000..380ffae2c Binary files /dev/null and b/docs/assets/images/dietpi-drive-manager_2.webp differ diff --git a/docs/assets/images/dietpi-drive-manager_3.webp b/docs/assets/images/dietpi-drive-manager_3.webp new file mode 100644 index 000000000..24f4810ee Binary files /dev/null and b/docs/assets/images/dietpi-drive-manager_3.webp differ diff --git a/docs/assets/images/dietpi-release-v10_4.webp b/docs/assets/images/dietpi-release-v10_4.webp new file mode 100644 index 000000000..5575944a0 Binary files /dev/null and b/docs/assets/images/dietpi-release-v10_4.webp differ diff --git a/docs/assets/images/prometheus_full.webp b/docs/assets/images/prometheus_full.webp new file mode 100644 index 000000000..23fbec4c7 Binary files /dev/null and b/docs/assets/images/prometheus_full.webp differ diff --git a/docs/dietpi_tools/misc_tools.md b/docs/dietpi_tools/misc_tools.md index 048823767..fd885aca3 100644 --- a/docs/dietpi_tools/misc_tools.md +++ b/docs/dietpi_tools/misc_tools.md @@ -22,7 +22,7 @@ dietpi-benchmark ![DietPi-Benchmark screenshot](../assets/images/dietpi-tools-dietpi-benchmark.webp "DietPi-Benchmark menu"){: width="960" height="323" loading="lazy"} -### Software overview +### Feature overview The benchmark covers @@ -74,7 +74,7 @@ dietpi-survey ![DietPi-Survey screenshot](../assets/images/dietpi-survey.jpg "DietPi-Survey main menu"){: width="645" height="368" loading="lazy"} -### Software overview +### Feature overview === "Data transmission events" @@ -197,7 +197,7 @@ dietpi-servarr_to_ram ![DietPi-Servarr_to_RAM screenshot](../assets/images/dietpi-tools-dietpi-servarr-to-ram.webp "DietPi-Servarr_to_RAM main menu"){: width="960" height="272" loading="lazy"} -### Software overview +### Feature overview === "Link databases to RAM" diff --git a/docs/dietpi_tools/software_installation.md b/docs/dietpi_tools/software_installation.md index ebcdfb3c1..21cecb04a 100644 --- a/docs/dietpi_tools/software_installation.md +++ b/docs/dietpi_tools/software_installation.md @@ -184,7 +184,7 @@ Access the frontend for the `Let's Encrypt` integration by running dietpi-letsencrypt ``` -### Software overview +### Feature overview In case of a non installed Certbot package it is installed at first: @@ -225,7 +225,7 @@ dietpi-vpn ![OpenVPN logo](../assets/images/dietpi-software-vpn-openvpn-logo.png){: width="200" height="58" loading="lazy"} -### Software overview +### Feature overview === "Requires VPN Subscription" diff --git a/docs/dietpi_tools/system_configuration.md b/docs/dietpi_tools/system_configuration.md index 433a865b3..59e5b0c46 100644 --- a/docs/dietpi_tools/system_configuration.md +++ b/docs/dietpi_tools/system_configuration.md @@ -10,14 +10,14 @@ dietpi-config ![DietPi-Config screenshot](../assets/images/dietpi-config.jpg "DietPi-Config main menu"){: width="643" height="335" loading="lazy"} -### Software overview +### Feature overview === "Display Options" The display options are used to - - Set your screen resolution, or go headless to save additional resources. - - Control your GPU memory splits. + - Set the screen resolution, or go headless to save additional resources. + - Control the GPU memory splits. - Enable/disable the RPi camera. === "Audio Options" @@ -30,8 +30,8 @@ dietpi-config The performance options are used to - - Overclock your system with a vast selection of overclocking profiles for your device. - - Change the CPU governor and tweak your ARM temperature limits. + - Overclock the system with a vast selection of overclocking profiles for the device. + - Change the CPU governor and tweak the ARM temperature limits. - Change the source for the CPU temperature value. === "Advanced Options" @@ -54,15 +54,15 @@ dietpi-config The language/regional options are used to - - Set timezone, locale and keyboard options. Everything you will need to make it feel like home + - Set timezone, locale and keyboard options. Everything which will be needed to make it feel like home === "Network Options: Adapters" The network options are used to - - Scan and connect to your WiFi router with ease - - Change to a static IP address on your network - - Configure your proxy settings + - Scan and connect to a WiFi router with ease + - Change to a static IP address on the network + - Configure proxy settings - Test internet connection - Toggle IPv6 support @@ -71,13 +71,13 @@ dietpi-config The miscellaneous network options options are used to - Select an **APT mirror** to connect to the Debian (or Raspbian) APT repository. - - Select an **NTP mirror** to synchronise your system time. + - Select an **NTP mirror** to synchronise the system time. - Choose these options for the **network and URL connection tests**: - Set Network test connection timeout and number of connection test tries. - Set IPv4 and IPv6 addresses used for the connection test. - Set the domain used for the domain name resolution test. - - **Network Drives** redirects you to the **DietPi-Drive_Manager** which allows you to mount Samba and NFS shares on your DietPi system. - - Select one of several **Dynamic DNS** ([**DDNS**](https://wikipedia.org/wiki/Dynamic_DNS)) providers which allows you to access your home network/server with a static domain name. The client is required to inform the DDNS of your current dynamic external IP on a regular basis. + - **Network Drives** redirects to the **DietPi-Drive_Manager** which allows to mount Samba and NFS shares on the DietPi system. + - Select one of several **Dynamic DNS** ([**DDNS**](https://wikipedia.org/wiki/Dynamic_DNS)) providers which allows to access a home network/server with a static domain name. The client is required to inform the DDNS of a current dynamic external IP on a regular basis. === "AutoStart Options" @@ -89,8 +89,8 @@ dietpi-config The tools options are used to - - Perform CPU, RAM, filesystem and network **benchmarks**, optionally upload your results and review statistics at: - - Perform CPU/IO/RAM/DISK **stress tests** to test the stability of your system, e.g. after applying some overclocking. + - Perform CPU, RAM, filesystem and network **benchmarks**, optionally upload the results and review statistics at: + - Perform CPU/IO/RAM/DISK **stress tests** to test the stability of the system, e.g. after applying some overclocking. ### DietPi-Config - Command line usage @@ -128,9 +128,9 @@ Available values for : ## DietPi drive manager -Feature-rich drive management utility. It is a lightweight program that allows you to: +Feature-rich drive management utility. It is a lightweight program that allows to: -- Manage drives: Mount, format external drives +- Manage drives: Mount (manual and automatic), format external drives - Maintenance drives: Check and repair drives, resize (expand) filesystem, change reserved blocks count - Set drive attributes: Set read only filesystems, set idle spindown time - Move DietPi User data @@ -139,24 +139,24 @@ Feature-rich drive management utility. It is a lightweight program that allows y - Run benchmarks on drives - Mount network drives (NFS and Samba) -To start DietPi-Drive_Manager, use the following command: +To start DietPi-Drive_Manager, the following command is used: ```sh dietpi-drive_manager ``` -![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager.jpg "DietPi-Drive_Manager main menu"){: width="643" height="327" loading="lazy"} +![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager_1.webp "DietPi-Drive_Manager main menu"){: width="640" height="296" loading="lazy"} -### Software overview +### Feature overview #### Setup a dedicated drive for DietPi To use an additional drive (example USB drive) the following steps have to be done: 1. Run `dietpi-drive_manager` to bring up the main menu. -1. Plug in the drive you wish to use. +1. Plug in the drive which shall be used. 1. Select `Refresh` from the menu (if it doesn't show up straight away, give it a few seconds for system to update, then try again). -1. Select the drive you wish to use from the list, then press ++enter++. +1. Select the drive which shall be used from the list, then press ++enter++. ![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager_2.png "DietPi-Drive_Manager unmounted drive dialog"){: width="600" height="297" loading="lazy"} @@ -169,7 +169,7 @@ To use an additional drive (example USB drive) the following steps have to be do #### Move the location of user data and swap file -You can move the location of the DietPi user data (default `/mnt/dietpi_userdata`) or the swap file to a different location on a target drive. This may be useful if your filesystem containing the DietPi user data resp. swap file has only little space left. +The location of the DietPi user data (default `/mnt/dietpi_userdata`) or the swap file can be moved to a different location on a target drive. This may be useful if the filesystem containing the DietPi user data resp. swap file has only little space left. Therefore execute the following steps (example user data, swap file is quite similar): 1. Run `dietpi-drive_manager` to bring up the main menu. @@ -187,12 +187,12 @@ Therefore execute the following steps (example user data, swap file is quite sim #### Format filesystem types -Formatting filesystems lead you to these dialogues: +Formatting filesystems leads to these dialogues: ![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager_6.png "DietPi-Drive_Manager format dialog"){: width="500" height="137" loading="lazy"} ![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager_7.png "DietPi-Drive_Manager format file system type options"){: width="500" height="326" loading="lazy"} -In the latter dialog you have to choose the filesystem type. The following selections may be chosen: +In the latter dialog the filesystem type has to be selected. The following options may be chosen: === "ext4 (Default)" @@ -251,9 +251,9 @@ In the latter dialog you have to choose the filesystem type. The following selec #### Move DietPi system to a larger SD card -If you want to extend your DietPi SD card space by moving the system to a larger memory card, this can be achieved by the following steps: +If the DietPi SD card space shall be expanded by moving the system to a larger memory card, this can be achieved by the following steps: -1. Shutdown your system and put the SD card into a card reader of a different systems. +1. Shutdown the system and put the SD card into a card reader of a different systems. 1. Copy the SD card contents to the new (larger) SD card. This can e.g. be done using - the `dd` command (command line option) - [balenaEtcher](https://etcher.balena.io/) or [Rufus](https://rufus.ie/) (graphical user interface option) @@ -265,21 +265,37 @@ If you want to extend your DietPi SD card space by moving the system to a larger ![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager_8.png "DietPi-Drive_Manager resize filesystem"){: width="500" height="138" loading="lazy"} -1. Reboot your system to expand the root filesystem to use the whole space of the new memory card. +1. Reboot the system to expand the root filesystem to use the whole space of the new memory card. -A similar procedure may be used when moving the SD card contents to a smaller SD card. During this procedure you typically need to shrink the partition size (e.g. with `parted` or `gparted`) before copying the partition image to a different memory card. Also, do the resize to use the full space on the new card. +A similar procedure may be used when moving the SD card contents to a smaller SD card. During this procedure typically a shrink of the partition size (e.g. with `parted` or `gparted`) is necessary before copying the partition image to a different memory card. Also, do the resize to use the full space on the new card. + +#### Auto-mount of local USB drives + +`DietPi-Drive_Manager` has the option to auto-mount local USB devices to `/media/` when they are plugged in. On removal they are automatically unmounted. + +- In case of a deselected auto-mount option the following output is given + (example with `/dev/sdb` with two partitions `sdb1` and `sdb2`): + + ![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager_2.webp "DietPi-Drive_Manager without auto-mount"){: width="600" height="307" loading="lazy"} + +- With selected auto-mount option the following output results: + + ![DietPi-Drive_Manager screenshot](../assets/images/dietpi-drive-manager_3.webp "DietPi-Drive_Manager with auto-mount"){: width="600" height="309" loading="lazy"} + + The mount point will be `/media/` with `` as the UUID of the drive partitions. + The UUID can also be retrieved via the command `blkid` (example `blkid` output: `/dev/sdb1: UUID="2AAB-9D1A" ...` resp. `/dev/sdb2: UUID="6A15-D0E7" ...`). #### Mount network drive -If you want to mount a NFS drive or a Samba share, you can do this by: +Mounting a NFS drive or a Samba share can be done this by: 1. Run `dietpi-drive_manager` to bring up the main menu. 1. Select `Add network drive`. -1. Select the type of network drive that you have. +1. Select the type of network drive that shall be mounted. 1. Follow the prompts. !!! info "Mounting a macOS Samba share" - To mount a macOS Samba share enabled in `Sharing`, you need to (in the server) go to `Sharing > File Sharing > Options > Windows File Sharing` and select your username. + To mount a macOS Samba share enabled in `Sharing`, it is needed to (in the server) go to `Sharing > File Sharing > Options > Windows File Sharing` and select the appropriate username. ### DietPi drive manager - Command line usage @@ -308,7 +324,7 @@ Defines software packages to start when the DietPi OS boots up. Example, boot in dietpi-autostart ``` -![DietPi-Autostart screenshot](../assets/images/dietpi-autostart.jpg "DietPi-Autostart main menu"){: width="640" height="458" loading="lazy"} +![DietPi-Autostart screenshot](../assets/images/dietpi-autostart.webp "DietPi-Autostart main menu"){: width="640" height="441" loading="lazy"} ### DietPi autostart - Command line usage @@ -339,7 +355,7 @@ Provides service control, priority level tweaks and status print. To start DietP dietpi-services ``` -### Software overview +### Feature overview If DietPi services are called via the command line without arguments, an interactive menu to apply service modes and settings comes up: @@ -415,7 +431,7 @@ dietpi-display ## DietPi LED control -Change triggers for the status LEDs on your SBC/motherboard. To start DietPi-LED_Control, use the following command: +Change triggers for the status LEDs on the SBC/motherboard. To start DietPi-LED_Control, use the following command: ```sh dietpi-led_control @@ -423,7 +439,7 @@ dietpi-led_control ![DietPi-LED_control screenshot](../assets/images/dietpi-ledcontrol.jpg "DietPi-LED_control main menu"){: width="643" height="269" loading="lazy"} -Depending on your used hardware, the number of entries in the dialog will change. +Depending on the used hardware, the number of entries in the dialog will change. --- @@ -455,7 +471,7 @@ If no sound output is configured, the following dialog appears: ![DietPi-JustBoom screenshot](../assets/images/dietpi-justboom.jpg "DietPi-JustBoom no sound output message dialog"){: width="642" height="228" loading="lazy"} -In this case you have to e.g. install a sound program package via `dietpi-software` or configure the sound output e.g. via `dietpi-config`. +In this case e.g. a sound program package via `dietpi-software` has to be installed or the sound output e.g. via `dietpi-config` has to be configured. --- @@ -469,9 +485,9 @@ dietpi-banner ![DietPi-Banner config menu](../assets/images/dietpi-banner_config.jpg "DietPi-Banner main menu"){: width="640" height="368" loading="lazy"} -### Software Overview +### Feature overview -Using these settings you can configure the information displayed initially, choosing the details displayed initially. See below an example where 4 options are selected: +Using these settings the information displayed initially can be configured, choosing the details displayed initially. See below an example where 4 options are selected: ![DietPi-Banner print on login](../assets/images/dietpi-banner.jpg "DietPi-Banner output"){: width="636" height="359" loading="lazy"} diff --git a/docs/dietpi_tools/system_maintenance.md b/docs/dietpi_tools/system_maintenance.md index 05f49b053..dc6670b7a 100644 --- a/docs/dietpi_tools/system_maintenance.md +++ b/docs/dietpi_tools/system_maintenance.md @@ -58,7 +58,7 @@ dietpi-backup ![DietPi-Backup menu screenshot](../assets/images/dietpi-backup_1.png "DietPi-Backup main menu"){: width="643" height="306" loading="lazy"} -### Software Overview +### Feature overview === "Settings files" @@ -224,7 +224,7 @@ dietpi-sync ![DietPi-Sync screenshot](../assets/images/dietpi-sync.jpg "DietPi-Sync main menu"){: width="646" height="322" loading="lazy"} -### Software Overview +### Feature overview Example: If you want to duplicate (sync) the data on your external USB HDD to another location, you simply select the USB HDD as the source, then select a target location. The target location can be anything from a networked samba file server, or even an FTP server. diff --git a/docs/hardware.md b/docs/hardware.md index 1945481cf..b0c0adaca 100644 --- a/docs/hardware.md +++ b/docs/hardware.md @@ -571,11 +571,17 @@ For more details visit the [**Orange Pi**](http://www.orangepi.org/index.html) w - Orange Pi 5/5B + Orange Pi 5 Download: DietPi image + + Orange Pi 5B + + Download: DietPi image + + Orange Pi 5 Plus @@ -636,6 +642,12 @@ For more details visit the [**Orange Pi**](http://www.orangepi.org/index.html) w Download: DietPi image + + Orange Pi 4 LTS + + Download: DietPi image + + @@ -646,7 +658,7 @@ The [RISC-V platform](https://en.wikipedia.org/wiki/RISC-V) is an open source IS ### StarFive -[StarFive](https://www.starfivetech.com/en/site/soc) is a RISC-V SoC and SBC manufacturer and offers the [VisionFive 2](https://www.starfivetech.com/uploads/VisionFive%202%20isionDocumentation.pdf), started as a [Kickstarter project](https://www.kickstarter.com/projects/starfive/visionfive-2). The board contains a quad-core RISC-V JH7110 SoC, 2/4/8 GiB of RAM and many other bells and whistles of the Raspberry Pi type world. +[StarFive](https://www.starfivetech.com/en/index.php?s=computing&c=category&id=1) is a RISC-V SoC and SBC manufacturer and offers the [VisionFive 2](https://www.starfivetech.com/en/index.php?s=hardware&c=show&id=14), started as a [Kickstarter project](https://www.kickstarter.com/projects/starfive/visionfive-2). The board contains a quad-core RISC-V JH7110 SoC, 2/4/8 GiB of RAM and many other bells and whistles of the Raspberry Pi type world. ![StarFive VisionFive 2 photo](assets/images/riscv-starfive-visionfive2.jpg "StarFive VisionFive 2"){: width="500" height="420" loading="lazy"} diff --git a/docs/releases.md b/docs/releases.md index 27e9e92ee..86f556db2 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -5,6 +5,7 @@ description: Overview of DietPi releases with applied new software and features, # DietPi Releases +- [v10.4 May 2026](releases/v10_4.md) - [v10.3 April 2026](releases/v10_3.md) - [v10.2 March 2026](releases/v10_2.md) - [v10.1 February 2026](releases/v10_1.md) diff --git a/docs/releases/v10_4.md b/docs/releases/v10_4.md new file mode 100644 index 000000000..62f0547da --- /dev/null +++ b/docs/releases/v10_4.md @@ -0,0 +1,41 @@ +--- +title: DietPi v10.4 +description: Release notes for DietPi v10.4 from May 2026 +image: https://dietpi.com/docs/assets/images/dietpi-release-v10_4.webp +--- + +# Release Notes + +## May 2026 (version 10.4) + +### Overview + +The **May 17th, 2026** release of **DietPi v10.4** comes with fixes for CVE "Copy Fail" and CVE "Dirty Frag", a new image for the **Orange Pi 5B**, simplified Linux packaging, and further enhancements and fixes. + +![The image is a Linux console screenshot showing how the "Copy Fail" Linux vulnerability is used to obtain root access, and add an SSH pubkey to the root account, as www-data user. And it shows that a DietPi update, which upgrades the kernel, fixes this vulnerability.](../assets/images/dietpi-release-v10_4.webp "Fix Copy Fail and Dirty Frag CVEs with a DietPi update!"){: width="745" height="390" loading="lazy"} + +### New images + +- [**Orange Pi 5B**](../hardware.md#orange-pi-series) :octicons-arrow-right-16: Dedicated images for the Orange Pi 5B are provided now. Previously, the Orange Pi 5 images could be used, but it was required to change the used device tree manually to enable board-specific features like WiFi. + +### Enhancements + +- **Linux security** :octicons-arrow-right-16: The two recent major Linux vulnerabilities CVE-2026-31431 aka "Copy Fail", CVE-2026-43284 and CVE-2026-43500 aka "Dirty Frag", have been mitigated across all supported SBCs: Debian and Raspberry Pi Ltd pushed kernel updates containing the fix, and we did so for all kernel packages distributed with our APT repository. The DietPi update will upgrade kernel packages implicitly. Else please upgrade it yourself, or prevent the affected kernel modules from being loaded, as can be read here: +- **General** :octicons-arrow-right-16: Persistent DietPi log files have been moved from `/var/tmp/dietpi/logs` to `/var/lib/dietpi/logs`. Since Debian Trixie, content of `/var/tmp` older than 30 days is cleared, which renders this directory inappropriate for any persistent files. And to be honest: It was never meant to be used the way we did it. The DietPi update will copy files over, but it cannot remove `/var/tmp/dietpi`, since the v10.3 updater itself is logging to it while it runs. On Debian Trixie, `systemd-tmpfiles` will remove it 30 days later. On Debian Bookworm, you may remove it manually, but the size is small. +- [**NanoPi R76S**](../hardware.md#nanopi-series-friendlyelec) :octicons-arrow-right-16: The network interface names for the two Ethernet ports are now persistent on reboot. They previously could randomly swap on reboot. Many thanks to @oxoocoffee for reporting this: +- **Allwinner/Amlogic/Rockchip SBCs** :octicons-arrow-right-16: We merged the `linux-dtb-*` package into the `linux-image-*` package. You might have recognized that an `apt upgrade` held back two packages, and an `apt full-upgrade` removed the `linux-dtb-*` package while upgrading `linux-image-*`, which is hence intended. Along with some other changes in our Armbian build system fork, this makes switching between kernel branches easier and more robust, and allows to keep multiple kernel branches installed concurrently safe. The DietPi update will imply the kernel upgrade, if not done yet, unless it was explicitly marked hold by the admin. +- [**DietPi-Installer**](../hardware.md#make-your-own-distribution) :octicons-arrow-right-16: Cases of GRUB BIOS images with GPT partition table, but without dedicated BIOS boot partition, are now handled gracefully. GRUB throws warnings in those cases, and by default fails, as flashing the bootloader to the gap between GPT header and first partition is considered unreliable. But obviously, the image worked that way before, and Debian's `grub-pc` package `postinst` script explicitly ignores the warnings, calling `grub-install` with the `--force` flag. The `dietpi-installer` will now do the same, if this exact case is detected: GPT partition table, no EFI partition => GRUB BIOS needed, but no BIOS boot partition either. Many thanks to @mews-se for reporting a related case of a VPS image: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**soju**](../software/social.md#soju) :octicons-arrow-right-16: We migrated to the new official soju repository at Codeberg, after the its GitHub repository got archived. This implies some new releases, hence we recommend to update your soju instance with a `dietpi-software reinstall 213`. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Unbound**](../software/dns_servers.md#unbound) :octicons-arrow-right-16: We push our own up-to-date Unbound packages via our APT server now. This means, that also users who did not install Unbound via `dietpi-software` get our default config and reduced Debian-only content. Please let us know if you face any issues. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Java**](../software/programming.md#java) :octicons-arrow-right-16: The version has been bumped to Java 26 for 64-bit systems. On ARMv7, Java 21 is the highest practically usable one: from Java 22 on, ARMv7 support for the HotSpot JVM is broken, hence the extremely slow Zero JVM is used. This causes e.g. Airsonic on the Odroid XU4 to require 1.5 hours to start. This limits the versions of some Java applications on ARMv7, like Minecraft to max v1.21.x. This bug is unlikely to be ever resolved, due to decreasing relevancy of 32-bit ARM architectures. The upstream bug is tracked here: + +### Bug fixes + +- [**DietPi-Tools**](../dietpi_tools.md) | [**DietPi-Drive_Manager**](../dietpi_tools/system_configuration.md#dietpi-drive-manager) :octicons-arrow-right-16: Resolved a v10.3 regression where moving the rootfs on Raspberry Pi to a different drive caused an invalid `/boot/firmware/cmdline.txt` root entry, failing to boot. Many thanks to @TimH for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Docker**](../software/system_stats.md#docker) :octicons-arrow-right-16: Resolved a v10.3 regression where a fresh Docker installation failed, since `--no-reload` was used when unmasking `docker.service`, which prevents `docker.socket` from starting up as well. Many thanks to @peracchi for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Home Assistant**](../software/home_automation.md#home-assistant) :octicons-arrow-right-16: Resolved an issue where the installation might have failed, when starting it from within a desktop session. As we used `runuser`, environment variables were passed through to `uv`, notably `XDG_DATA_HOME`, which was then used as install directory for Python, instead of the intended service user's home directory. All `runuser` calls have now been replaced by `setpriv` with the `--reset-env` flag, to guarantee a clean environment. Many thanks to @btuerk89 for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Synapse**](../software/social.md#synapse) :octicons-arrow-right-16: Resolved an issue where the installation might have failed, since dependencies were not installed as intended. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Immich**](../software/cloud.md#immich)/[**ownCloud Infinite Scale**](../software/cloud.md#owncloud) :octicons-arrow-right-16: Resolved a v10.3 regression, where the service failed to start, as it does not have the permissions to "touch" its environment file, to trigger the systemd automount, if needed. Instead of "touch", automounts for environment files are now triggered with `test -e`, which does not require write access. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Prometheus Node Exporter**](../software/system_stats.md#prometheus-node-exporter) :octicons-arrow-right-16: Resolved an issue on Raspberry Pi where the `raspberrypi_exporter.service` stored the CPU temperature in a wrong format, if a locale with comma (,) as decimal separator was selected on the host system. The service now enforces the C locale. The change is applied during the DietPi update as well. Many thanks to @Grip 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: diff --git a/docs/releases/v7_4.md b/docs/releases/v7_4.md index 443e84d3f..00e154deb 100644 --- a/docs/releases/v7_4.md +++ b/docs/releases/v7_4.md @@ -18,7 +18,7 @@ Welcome to **July 2021 release** :octicons-heart-16: of **DietPi**. A persistent advanced object-relational database server has been added. Now available to install using [`dietpi-software`](../dietpi_tools.md#dietpi-software) or directly using the software ID `194`. -- [**youtube-dl**](../software/bittorrent.md#youtube-dl) +- [**youtube-dl**](../software/bittorrent.md#yt-dlp) The famous command-line program to download videos from YouTube and other video platforms has been added. diff --git a/docs/releases/v8_18.md b/docs/releases/v8_18.md index f9bcf53ff..ac9c34df9 100644 --- a/docs/releases/v8_18.md +++ b/docs/releases/v8_18.md @@ -13,7 +13,7 @@ The **June 3rd, 2023** release of **DietPi v8.18** comes with a couple of improv ### Enhancements - [**Quartz64**](../hardware.md#pine64) :octicons-arrow-right-16: Enabled (software) RAID and Logical Volume Manager (LVM) support. Many thanks to @dano6 for implementing this: -- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**youtube-dl**](../software/bittorrent.md#youtube-dl) :octicons-arrow-right-16: Since the development of the original `youtube-dl` project stalled for some years, we migrated to the well known actively developed fork `yt-dlp`: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**youtube-dl**](../software/bittorrent.md#yt-dlp) :octicons-arrow-right-16: Since the development of the original `youtube-dl` project stalled for some years, we migrated to the well known actively developed fork `yt-dlp`: If you installed `youtube-dl` before, you can migrate via reinstall: `dietpi-software reinstall 195`. For backwards compatibility, the `youtube-dl` command will stay valid as a symlink to `yt-dlp`, but there are some differences you should be aware about when doing the migration on your system: . Many thanks to @rgabbo for suggestion and @pulpe for implementing this change: , - [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Pi-hole**](../software/dns_servers.md#pi-hole) :octicons-arrow-right-16: With recent release, Pi-hole supports RISC-V and has been hence enabled for this architecture as well in DietPi. Many thanks to the Pi-hole team for making this possible to quickly! diff --git a/docs/releases/v9_19.md b/docs/releases/v9_19.md index b930b0f80..9efb00cb1 100644 --- a/docs/releases/v9_19.md +++ b/docs/releases/v9_19.md @@ -36,7 +36,7 @@ The **November 15th, 2025** release of **DietPi v9.19** comes with a new softwar - [**DietPi-Tools**](../dietpi_tools.md) | [**DietPi-Update**](../dietpi_tools/system_maintenance.md#dietpi-update) :octicons-arrow-right-16: Resolved an issue on Debian Trixie systems with ZeroTier installed, where the update from DietPi v9.17 to v9.18 updated the ZeroTier APT repo falsely, leading to an "apt update" error. Many thanks to [@randell1993](https://dietpi.com/forum/u/randell1993){: class="nospellcheck"} for reporting this issue: - [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Jellyfin**](../software/media.md#jellyfin) :octicons-arrow-right-16: Resolved an issue where the service start failed due to new strict space requirements for logging (512 MiB) and temporary directories (2 GiB). To support low RAM devices, we use `/mnt/dietpi_userdata/jellyfin/log` for log files, and a subdirectory in `/mnt/dietpi_userdata/jellyfin/cache` for temporary files, restoring behaviour from Jellyfin before v10.10. This can be adjusted in `/etc/default/jellyfin`. - [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Node.js**](../software/programming.md#nodejs) :octicons-arrow-right-16: Resolved an issue where usage could have failed, including Node-RED, Blynk Server, and MineOS installation, since it requires `libatomic` now for all architectures. Many thanks to [@devifast](https://dietpi.com/forum/u/devifast){: class="nospellcheck"} for reporting this issue: -- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Lidarr**](../software/bittorrent.md#lidarr)/[**Prowlarr**](../software/bittorrent.md#prowlarr) :octicons-arrow-right-16: Resolved an issue on Bullseye systems where the service fails due to an incompatible embedded SQLite library: , +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Lidarr**](../software/bittorrent.md#lidarr)/[**Prowlarr**](../software/bittorrent.md#prowlarr) :octicons-arrow-right-16: Resolved an issue on Bullseye systems where the service fails due to an incompatible embedded SQLite library: - [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**SABnzbd**](../software/bittorrent.md#sabnzbd) :octicons-arrow-right-16: Resolved an issue where the installation could have finished with an incomplete config file. Many thanks to @DealsBeam for resolving this issue: - [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Bazarr**](../software/bittorrent.md#bazarr) :octicons-arrow-right-16: Resolved an issue where configuring Sonarr and Radarr usage automatically if installed did not work, because Bazarr switched from `bazarr.ini` to `bazarr.yaml` as its config file. Many thanks to @Joulinar for reporting this issue: - [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Medusa**](../software/bittorrent.md#medusa) :octicons-arrow-right-16: Resolved an issue where the service failed to start because it tries to lift sandboxing for a directory that does not exist. We create our own systemd service from now on, instead of using and altering the template, which implies tailored sandboxing, better startup ordering, and a meaningful system log identifier. diff --git a/docs/software.md b/docs/software.md index efed85aba..ac2aa09b7 100644 --- a/docs/software.md +++ b/docs/software.md @@ -45,7 +45,7 @@ description: Overview of ready-to-run DietPi-Software options, cloud & backup se - [**Jackett - API Support for your favourite torrent trackers**](software/bittorrent.md#jackett) - [**NZBGet - NZB download manager with web interface**](software/bittorrent.md#nzbget) - [**HTPC Manager - combines all your favourite software into one slick interface**](software/bittorrent.md#htpc-manager) -- [**youtube-dl - download videos from YouTube and other sites**](software/bittorrent.md#youtube-dl) +- [**yt-dlp - download videos from YouTube and other sites**](software/bittorrent.md#yt-dlp) - [**LazyLibrarian - Ebook and audiobook collection manager**](software/bittorrent.md#lazylibrarian) ## [Camera & Surveillance](software/camera.md) diff --git a/docs/software/bittorrent.md b/docs/software/bittorrent.md index 875c19bc6..a25c30ea9 100644 --- a/docs/software/bittorrent.md +++ b/docs/software/bittorrent.md @@ -23,7 +23,7 @@ description: Description of DietPi software options related to BitTorrent and ot - [**Jackett - API Support for your favourite torrent trackers**](#jackett) - [**NZBGet - NZB download manager with web interface**](#nzbget) - [**HTPC Manager - combines all your favourite software into one slick interface**](#htpc-manager) -- [**youtube-dl - download videos from YouTube and other sites**](#youtube-dl) +- [**yt-dlp - download videos from YouTube and other sites**](#yt-dlp) - [**LazyLibrarian - Ebook and audiobook collection manager**](#lazylibrarian) [//]: # (Include software expandable infoblock) @@ -1584,24 +1584,23 @@ Do all your HTPC tasks without using 5 different interfaces! Official website: Official documentation: -## youtube-dl +## yt-dlp -`youtube-dl` is a command-line program to download videos from YouTube.com and many more sites. See here the full list of supported websites: +`yt-dlp` is a command-line program to download videos from YouTube.com and many more sites. See here the full list of supported websites: === "Quick start" This tool could be accessed from the command line ```sh - youtube-dl [OPTIONS] URL [URL...] + yt-dlp [OPTIONS] URL [URL...] ``` - Read the documentation for more details on the options used: + Read the documentation for more details on the options used: *** -Official website: -Official documentation: +Official repo and documentation: ## LazyLibrarian diff --git a/docs/software/cloud.md b/docs/software/cloud.md index 12909fb8f..f134bda4d 100644 --- a/docs/software/cloud.md +++ b/docs/software/cloud.md @@ -56,8 +56,8 @@ ownCloud Infinite Scale (oCIS) is the new file sync & share platform that will b oCIS has two config files: - 1. The environment file `/mnt/dietpi_userdata/ocis/ocis.env` needs to be edited manually as needed, and requires a service restart to become effective. More variables can be found in the [official documentation](https://doc.owncloud.com/ocis/7.3/deployment/general/general-info.html#default-paths). - 2. Other settings are stored in `/mnt/dietpi_userdata/ocis/ocis.yaml`, which however can be usually done via web interface. oCIS internally starts features as so called "services", which can be configured with individual config files as well. See the [official docs](https://doc.owncloud.com/ocis/7.3/deployment/general/general-info.html#configuration-rules) for further details. + 1. The environment file `/mnt/dietpi_userdata/ocis/ocis.env` needs to be edited manually as needed, and requires a service restart to become effective. More variables can be found in the [official documentation](https://doc.owncloud.com/ocis/latest/deployment/general/general-info.html#default-paths). + 2. Other settings are stored in `/mnt/dietpi_userdata/ocis/ocis.yaml`, which however can be usually done via web interface. oCIS internally starts features as so called "services", which can be configured with individual config files as well. See the [official docs](https://doc.owncloud.com/ocis/latest/deployment/general/general-info.html#configuration-rules) for further details. === "Directories" @@ -98,12 +98,12 @@ ownCloud Infinite Scale (oCIS) is the new file sync & share platform that will b dietpi-software reinstall 47 ``` - Manual migration steps might be needed between major version upgrades. See the related official migration docs before upgrading: + Manual migration steps might be needed between major version upgrades. See the related official migration docs before upgrading: *** Official website: -Official documentation: +Official documentation: Official forum: Source code: License: [Apache 2.0](https://github.com/owncloud/ocis/blob/master/LICENSE) diff --git a/docs/software/distributed_projects.md b/docs/software/distributed_projects.md index 3c53ecc0b..c0c1c43df 100644 --- a/docs/software/distributed_projects.md +++ b/docs/software/distributed_projects.md @@ -218,7 +218,11 @@ This node lets you download files through IPFS and add your own files to the net dietpi-software reinstall 186 ``` - IPFS has a built in update command (`ipfs update`), but this requires the `ipfs-update` binary found at https://dist.ipfs.io/#ipfs-update. + Alternatively, IPFS has an experimental built in update command: + + ```sh + sudo ipfs update + ``` *** diff --git a/docs/software/social.md b/docs/software/social.md index 649a40e7f..66a74e821 100644 --- a/docs/software/social.md +++ b/docs/software/social.md @@ -405,7 +405,7 @@ License: [GPLv2](https://github.com/wikimedia/mediawiki/blob/master/COPYING) ## soju -soju is an [IRC bouncer](https://wikipedia.org/wiki/BNC_(software)#IRC) – it connects to upstream IRC servers on your behalf, and then you can connect to it using multiple IRC clients. This causes chat history to be preserved without having to have the IRC client connected all the time. +soju is an [IRC bouncer](https://en.wikipedia.org/wiki/IRC_bouncer) – it connects to upstream IRC servers on your behalf, and then you can connect to it using multiple IRC clients. This causes chat history to be preserved without having to have the IRC client connected all the time. ![Soju graphic](../assets/images/dietpi-software-social-soju.webp "Soju graphic"){: width="400" height="201" loading="lazy"} diff --git a/docs/software/system_stats.md b/docs/software/system_stats.md index e7bbeff2b..b150b9a55 100644 --- a/docs/software/system_stats.md +++ b/docs/software/system_stats.md @@ -676,15 +676,15 @@ High availability - Low-ops, minimal production Kubernetes, for developers, clou *** -Official website: -Official documentation: -Addons documentation: -Source code: -License: [Apache 2.0](https://github.com/ubuntu/microk8s/blob/master/LICENSE) +Official website: +Official documentation: +Addons documentation: +Source code: +License: [Apache 2.0](https://github.com/canonical/microk8s/blob/master/LICENSE) ## Prometheus Node Exporter -Prometheus exporter for hardware and OS metrics. This component exposes system metrics, so they can be scraped by a dedicated [Prometheus server](#prometheus), which can aggregate metrics from many devices. These metrics can then be visualized through [Grafana](hardware_projects.md#grafana), the final piece of a very powerful monitoring stack. +Prometheus exporter for hardware and OS metrics. This component exposes system metrics, so they can be scraped by a dedicated [**Prometheus server**](#prometheus), which can aggregate metrics from many devices. These metrics can then be visualized through [Grafana](hardware_projects.md#grafana), the final piece of a very powerful monitoring stack. ![Grafana Node Exporter interface screenshot](../assets/images/grafana_node_exporter_full.png "Prometheus Node Exporter dialog"){: width="800" height="395" loading="lazy"} @@ -757,6 +757,8 @@ License: [Apache 2.0](https://github.com/prometheus/node_exporter/blob/master/LI Prometheus is an open-source monitoring system and time series database. It scrapes metrics from configured targets at given intervals, evaluates rule expressions, displays results, and can trigger alerts when specified conditions are observed. It is the natural companion to [**Prometheus Node Exporter**](#prometheus-node-exporter) and provides the server-side component of a monitoring stack that can be visualized through [Grafana](hardware_projects.md#grafana). +![Prometheus interface screenshot](../assets/images/prometheus_full.webp "Prometheus web interface"){: width="800" height="395" loading="lazy"} + === "Web interface" The Prometheus web interface is accessible via HTTP at TCP port **9090**: diff --git a/mkdocs.yml b/mkdocs.yml index c78b7201d..a207bccd0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -148,6 +148,7 @@ nav: - Miscellaneous Tools: dietpi_tools/misc_tools.md - RELEASES: - Overview: releases.md + - v10.4 May 2026: releases/v10_4.md - v10.3 April 2026: releases/v10_3.md - v10.2 March 2026: releases/v10_2.md - v10.1 February 2026: releases/v10_1.md diff --git a/overrides/main.html b/overrides/main.html index f9e573363..094be02bf 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -25,7 +25,7 @@ {% endif %} - +