diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d5304983..936f4fdc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,7 +54,9 @@ jobs: # Skip on push events into master if: always() && steps.build.outcome == 'success' && ! endsWith(github.ref, '/master') run: | - curl -sSfL "$(curl -sSfH 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' 'https://api.github.com/repos/lycheeverse/lychee/releases/latest' | mawk -F\" '/"browser_download_url.*x86_64-unknown-linux-musl\.tar\.gz"/{print $4;exit}')" -o lychee.tar.gz + # Workaround for broken local link checks in v0.17.0: https://github.com/lycheeverse/lychee/issues/1574 + #curl -sSfL "$(curl -sSfH 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' 'https://api.github.com/repos/lycheeverse/lychee/releases/latest' | mawk -F\" '/"browser_download_url.*x86_64-unknown-linux-musl\.tar\.gz"/{print $4;exit}')" -o lychee.tar.gz + curl -sSfL 'https://github.com/lycheeverse/lychee/releases/download/lychee-v0.16.1/lychee-x86_64-unknown-linux-musl.tar.gz' -o lychee.tar.gz tar xf lychee.tar.gz - name: Run lychee to check README and HTML files if: always() && steps.lychee.outcome == 'success' @@ -68,4 +70,4 @@ jobs: git fetch --depth=1 origin master while read -r line; do exclude="$exclude|dietpi.com/${line%.md}/"; done < <(git diff --name-only --diff-filter=A origin/master docs | grep '.md$') while read -r line; do exclude="$exclude|github.com/MichaIng/DietPi-Docs/(raw|edit)/dev/$line"; done < <(find docs -type f -name '*.md') - ./lychee -En --require-https --cache --exclude '^(http://wiringpi.com/$|https://(www.wireguard.com/$|twitter.com/DietPi_$|www.patreon.com/DietPi$|www.linux-kvm.org/$|www.domoticz.com/|pydio.com/|www.spigotmc.org/|help.realvnc.com/|help.roonlabs.com/|blynk.io/|play.google.com/store/apps/details|www.kickstarter.com|theunarchiver.com/$|www.parallels.com/|(www|forums).raspberrypi.com/|www.reddit.com/|superuser.com|chromewebstore.google.com'"$exclude"'))' -a 429 --github-token '${{ secrets.GITHUB_TOKEN }}' -b build README.md 'build/**/*.html' + ./lychee -En --require-https --cache --include-fragments --exclude '^(http://wiringpi.com/$|https://(www.wireguard.com/$|twitter.com/DietPi_$|www.patreon.com/DietPi$|www.linux-kvm.org/$|www.domoticz.com/|pydio.com/|www.spigotmc.org/|help.realvnc.com/|help.roonlabs.com/|blynk.io/|play.google.com/store/apps/details|www.kickstarter.com|theunarchiver.com/$|www.parallels.com/|(www|forums).raspberrypi.com/|www.reddit.com/|superuser.com|chromewebstore.google.com'"$exclude"'))' -a 429 --github-token '${{ secrets.GITHUB_TOKEN }}' -b build README.md 'build/**/*.html' diff --git a/.wordlist.txt b/.wordlist.txt index 5855984a..9e69d26e 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -1,5 +1,6 @@ aarch ACP +ACPI ActivityPub addictiveness addon @@ -337,6 +338,7 @@ LVM LXC LXDE LXQt +Lyrion macOS mangas marcobrianza @@ -578,6 +580,7 @@ selectable Servarr serverless servlet +severities SFTP SHA Shairport @@ -783,6 +786,7 @@ xz YaCy YAML YDNS +yescrypt ympd youtube ZeroPi diff --git a/docs/assets/images/Proxmox_ISO-Upload1.png b/docs/assets/images/Proxmox_ISO-Upload1.png new file mode 100644 index 00000000..213e90e3 Binary files /dev/null and b/docs/assets/images/Proxmox_ISO-Upload1.png differ diff --git a/docs/assets/images/Proxmox_ISO-Upload2.png b/docs/assets/images/Proxmox_ISO-Upload2.png new file mode 100644 index 00000000..5e62cf5b Binary files /dev/null and b/docs/assets/images/Proxmox_ISO-Upload2.png differ diff --git a/docs/assets/images/Proxmox_ISO-Upload3.png b/docs/assets/images/Proxmox_ISO-Upload3.png new file mode 100644 index 00000000..6cd12a4a Binary files /dev/null and b/docs/assets/images/Proxmox_ISO-Upload3.png differ diff --git a/docs/assets/images/Proxmox_ISO-Upload4.png b/docs/assets/images/Proxmox_ISO-Upload4.png new file mode 100644 index 00000000..a43a88d5 Binary files /dev/null and b/docs/assets/images/Proxmox_ISO-Upload4.png differ diff --git a/docs/assets/images/Proxmox_VM-generation-ISO.png b/docs/assets/images/Proxmox_VM-generation-ISO.png new file mode 100644 index 00000000..c1296177 Binary files /dev/null and b/docs/assets/images/Proxmox_VM-generation-ISO.png differ diff --git a/docs/assets/images/dietpi-release-v9_09.jpg b/docs/assets/images/dietpi-release-v9_09.jpg new file mode 100644 index 00000000..9827f772 Binary files /dev/null and b/docs/assets/images/dietpi-release-v9_09.jpg differ diff --git a/docs/hardware.md b/docs/hardware.md index 3a6a4da3..a59303cd 100644 --- a/docs/hardware.md +++ b/docs/hardware.md @@ -540,6 +540,12 @@ For more details visit the [**FriendlyELEC**](https://www.friendlyelec.com/) web Download: DietPi image + + NanoPi M6 (testing) + + Download: DietPi image + + ZeroPi @@ -581,6 +587,18 @@ For more details visit the [**Orange Pi**](http://www.orangepi.org/index.html) w Download: DietPi image + + Orange Pi 5 Max (testing) + + Download: DietPi image + + + + Orange Pi 5 Pro (testing) + + Download: DietPi image + + Orange Pi Zero 2W @@ -756,7 +774,8 @@ The Hyper-V virtual machine is great for those occasions where SBC performance j Proxmox - Download: DietPi QCOW2 image + Download: DietPi installer ISO image +
Download: DietPi QCOW2 image diff --git a/docs/install.md b/docs/install.md index c3f040f6..3da9d4ed 100644 --- a/docs/install.md +++ b/docs/install.md @@ -372,10 +372,6 @@ Select the following tabs for the installation description of your target. ![Proxmox web interface](assets/images/proxmox1.png){: width="800" height="439" loading="lazy"} - !!! info "Proxmox Helper Script to install DietPi in Proxmox" - There is a script from `Darren Bennett` ([GitHub `dazeb`](https://github.com/dazeb)) which makes the installation steps described below much easier by execution of the installation steps within the script. - See for details. -

Prerequisites

Proxmox runs on any `x86_64` system. ISO images for the Virtual Environment server can be found here: @@ -384,60 +380,83 @@ Select the following tabs for the installation description of your target. - 1.2 GiB for a minimal DietPi system - 5 - 10 GiB for a typical running system with X11 -

1. Generate a new Proxmox VM

+

1. Get the DietPi VM ISO image to the Proxmox system

+ + In this step, the `.iso` file is downloaded to be used as the boot image (CD/DVD) when starting the VM for the first time. + + 1. Login to the Proxmox GUI + Therefore access the Proxmox web interface via HTTPS on TCP port **8006**: - 1. Access the Proxmox web interface via HTTPS on TCP port **8006**: - URL: `https://:8006` - Username: `root` - Password: `` - 1. Tab **General**: Select the **Create VM** button at the top right corner. Choose a **Node** , a **VM ID** and a **Name**, then click **Next**. - ![Proxmox VM creation](assets/images/proxmox2.png){: width="722" height="314" loading="lazy"} + 1. Select the local storage where ISO files reside (ISO file repository) - Remember the VM ID, you need it later. + ![Proxmox ISO file storage](assets/images/Proxmox_ISO-Upload1.png){: width="122" height="32" loading="lazy"} - 1. Tab **OS**: Select "**Do not use any media** ", for the **Guest OS** assure that **Linux** and version "**6.x - 2.6 Kernel**" is selected, then click **Next**. - 1. Tab **System**: As **Machine** you can select `q35`, but the older default will work as well. We recommend the para-virtualised **VirtIO SCSI** controller, which should be the default. Click **Next**. - 1. Tab **Disks**: Delete the default `scsi0` disk with the red trash bin button, then click **Next**. - 1. Tab **CPU**: Adjust CPU details as required, we recommend to use the default `kvm64` type. Then click **Next**. - 1. Tab **Memory**: While DietPi runs with less, depending on the software you want to install and run within the VM, we recommend at least 1024 MiB memory size, 2048 MiB allows the DietPi system to setup itself without a swap file by default. When done, click **Next**. + 1. Click the button "Download from URL" and enter the necessary fields in the following dialog - ??? info "Dynamic memory allocation via ballooning device" - The [ballooning device](https://wikipedia.org/wiki/Memory_ballooning) allows Proxmox to dynamically allocate memory from the host system based on actual memory usage within the VM. I.e. you are able to run VMs with a higher overall memory size than the host system has, as long as all VMs do not fully use their memory at the same time. + - Insert the URL of the ISO image to the dialog + (e.g. https://dietpi.com/downloads/images/DietPi_VM-x86_64-Bookworm_Installer.iso) - 1. Tab **Network**: Using a network bridge allows the VM to show up as dedicated system in your LAN, which simplifies SSH and network application access. We recommend to use the default para-virtualised **VirtIO** adapter model. When done, click **Next**. - 1. Tab **Confirm**: Start the VM creation by clicking **Finish**. + - Press the button "Query URL" to verify the URL -

2. Download, extract and import the DietPi image

+ ![Proxmox ISO file download dialog](assets/images/Proxmox_ISO-Upload2.png){: width="472" height="133" loading="lazy"} - !!! info "Transferring a disk image to Proxmox" - A DietPi disk image can be transferred to the Proxmox server via e.g. USB flash drive or by uploading it as CD/DVD ISO image. Since the import needs to be done via console (accessible via web interface and SSH), we guide you through the path of downloading it directly on the Proxmox server. + - Optionally, check the SHA256 checksum + Therefore + + - Activate the "Advanced" dialog option + - Select SHA-256 as the "Hash algorithm" + - Open or download the SHA checksum (e.g. https://dietpi.com/downloads/images/DietPi_VM-x86_64-Bookworm_Installer.iso.sha256) and paste the checksum value from the file into the "Checksum" field - 1. Select the Proxmox node, then click the **Shell** button at the top right corner. Alternatively connect via SSH to the Proxmox server, using the same login credentials you used for the Proxmox web interface. - 1. In the console window, enter the following commands to download the DietPi image, optionally check its integrity, decompress it via `xz`, import it as disk to your new VM (using the **VM ID** you chose during creation) and make it the boot drive. - _If not done yet, we recommend to upgrade all APT packages to the latest version._ + 1. Click **Download** + The file is downloaded and the checksum is verified. - ```sh - apt update - apt full-upgrade - apt install xz-utils - curl -O https://dietpi.com/downloads/images/DietPi_Proxmox-x86_64-Bookworm.qcow2.xz - sha256sum -c <(curl -sSf 'https://dietpi.com/downloads/images/DietPi_Proxmox-x86_64-Bookworm.qcow2.xz.sha256') - xz -d DietPi_Proxmox-x86_64-Bookworm.qcow2.xz - ``` + ![Proxmox ISO file download status dialog](assets/images/Proxmox_ISO-Upload3.png){: width="987" height="611" loading="lazy"} - Next, the disk image is imported. - **Note**: Replace `100` below with the **VM ID** entered during VM creation. + After these steps, the file should appear in the ISO file repository. - ```sh - ID=100 - qm importdisk "$ID" DietPi_Proxmox-x86_64-Bookworm.qcow2 local-lvm - qm set "$ID" --scsi0 "local-lvm:vm-$ID-disk-0" - qm set "$ID" --boot order=scsi0 - ``` + ![Proxmox ISO file repository](assets/images/Proxmox_ISO-Upload4.png){: width="466" height="135" loading="lazy"} + +

2. Generate a new Proxmox VM

+ + 1. In the Proxmox web interface, select the **Create VM** button at the top right corner. Choose a **Node** , a **VM ID** and a **Name**, then click **Next**. + + ![Proxmox VM creation](assets/images/proxmox2.png){: width="722" height="314" loading="lazy"} + + 1. Tab **OS**: Select the downloaded DietPi ISO file: + + ![Proxmox VM creation - usage of the ISO file](assets/images/Proxmox_VM-generation-ISO.png){: width="789" height="229" loading="lazy"} + + For the **Guest OS** assure that **Linux** and version "**6.x - 2.6 Kernel**" is selected. + Click **Next**. + + 1. Tab **System**: As **Machine** you can select `q35`, but the older default will work as well. We recommend the para-virtualised **VirtIO SCSI** controller, which should be the default. + Activate the check box `Qemu Agent`. + Click **Next**. + + 1. Tab **Disks**: Optionally, change the VM disk storage location ("Storage"), optionally adjust the disk size ("Disk size (GiB)"). + Click **Next**. + 1. Tab **CPU**: Adjust CPU details as required, we recommend to use the default `x86-64-v2-AES` type. + Click **Next**. + 1. Tab **Memory**: While DietPi runs with less, depending on the software you want to install and run within the VM, we recommend at least 1024 MiB memory size, 2048 MiB allows the DietPi system to setup itself without a swap file by default. + Click **Next**. + + ??? info "Dynamic memory allocation via ballooning device" + The [ballooning device](https://wikipedia.org/wiki/Memory_ballooning) allows Proxmox to dynamically allocate memory from the host system based on actual memory usage within the VM. I.e. you are able to run VMs with a higher overall memory size than the host system has, as long as all VMs do not fully use their memory at the same time. + + 1. Tab **Network**: Using a network bridge allows the VM to show up as dedicated system in your LAN, which simplifies SSH and network application access. We recommend to use the default para-virtualised **VirtIO** adapter model. + Click **Next**. + 1. Tab **Confirm**: Start the VM creation by clicking **Finish**. + +

3. Execute the Clonezilla based DietPi installation

- The VM can now be started, select it via left side navigation of the Proxmox web interface, then the **Start** button at the top right side, finally the **Console** button to watch and finish the DietPi first run setup. - Alternatively you can connect to the VM via SSH, after giving it some time to finish initial setup steps and obtaining its IP with your router or IP scanner. + The VM can now be started, select it via left side navigation of the Proxmox web interface, then the **Start** button at the top right side, finally the **Console** button to watch and execute the DietPi installation (Clonezilla based installation procedure). The Clonezilla setup finishes its procedure by shutting down the VM. + Then the CD/DVD drive of the VM can be removed via the "Hardware" option dialog of the created VM. After this, the VM can be restarted again, so that the DietPi first run installation procedure is executed. + This first run setup can be monitored by clicking the "Console" button to watch and finish the DietPi first run setup. + Alternatively the VM can be connected via SSH, after giving it some time to finish initial setup steps (typically obtaining its IP from the router). ![Proxmox VM starting](assets/images/proxmox3.png){: width="1024" height="590" loading="lazy"} @@ -452,7 +471,79 @@ Select the following tabs for the installation description of your target. ![Proxmox node pull down menu](assets/images/Proxmox_ServerNode-pulldown-menu.png){: width="400" height="90" loading="lazy"} - Note: Keep the Proxmox VM option "QEMU Guest Agent" option inactive (uncheck check box) to be able to control the VM via the Proxmox GUI. + Note: Keep the Proxmox VM option "QEMU Guest Agent" option active (check check box) during the first run of the VM so that the QEMU Guest Agent package is installed within the VM. This enables the control of the VM via the Proxmox GUI. + +

Alternative: Import virtual disk image via console

+ + An alternative installation method is to import a virtual disk image (QCOW2 format) directly into a newly generated VM. This skips the additional installation process when using the ISO image, but requires some manual commands on the Proxmox OS console. To simplify the process, there is a script from [`Darren Bennett`](https://github.com/dazeb) which allows to enter the essential parameters via terminal UI and creates the VM and volume for you. See for details. + + The script can be executed with this command from the Proxmox OS console: + + ```sh + bash <(curl -sSfL https://raw.githubusercontent.com/dazeb/proxmox-dietpi-installer/main/dietpi-install.sh) + ``` + + ??? info "Click here if you want to do the VM creation and image import manually" + +

1. Generate a new Proxmox VM

+ + 1. Access the Proxmox web interface via HTTPS on TCP port **8006**: + - URL: `https://:8006` + - Username: `root` + - Password: `` + 1. Tab **General**: Select the **Create VM** button at the top right corner. Choose a **Node** , a **VM ID** and a **Name**, then click **Next**. + + ![Proxmox VM creation](assets/images/proxmox2.png){: width="722" height="314" loading="lazy"} + + Remember the VM ID, you need it later. + + 1. Tab **OS**: Select "**Do not use any media** ", for the **Guest OS** assure that **Linux** and version "**6.x - 2.6 Kernel**" is selected, then click **Next**. + 1. Tab **System**: As **Machine** you can select `q35`, but the older default will work as well. We recommend the para-virtualised **VirtIO SCSI** controller, which should be the default. + Activate the check box `Qemu Agent`. + Click **Next**. + 1. Tab **Disks**: Delete the default `scsi0` disk with the trash bin button, then click **Next**. + 1. Tab **CPU**: Adjust CPU details as required, we recommend to use the default `x86-64-v2-AES` type. + Click **Next**. + 1. Tab **Memory**: While DietPi runs with less, depending on the software you want to install and run within the VM, we recommend at least 1024 MiB memory size, 2048 MiB allows the DietPi system to setup itself without a swap file by default. + Click **Next**. + + ??? info "Dynamic memory allocation via ballooning device" + The [ballooning device](https://wikipedia.org/wiki/Memory_ballooning) allows Proxmox to dynamically allocate memory from the host system based on actual memory usage within the VM. I.e. you are able to run VMs with a higher overall memory size than the host system has, as long as all VMs do not fully use their memory at the same time. + + 1. Tab **Network**: Using a network bridge allows the VM to show up as dedicated system in your LAN, which simplifies SSH and network application access. We recommend to use the default para-virtualised **VirtIO** adapter model. + Click **Next**. + 1. Tab **Confirm**: Start the VM creation by clicking **Finish**. + +

2. Download, extract and import the DietPi image

+ + !!! info "Transferring a disk image to Proxmox" + A DietPi disk image can be transferred to the Proxmox server via e.g. USB flash drive or by uploading it as CD/DVD ISO image. Since the import needs to be done via console (accessible via web interface and SSH), we guide you through the path of downloading it directly on the Proxmox server. + + 1. Select the Proxmox node, then click the **Shell** button at the top right corner. Alternatively connect via SSH to the Proxmox server, using the same login credentials you used for the Proxmox web interface. + 1. In the console window, enter the following commands to download the DietPi image, optionally check its integrity, decompress it via `xz`, import it as disk to your new VM (using the **VM ID** you chose during creation) and make it the boot drive. + _If not done yet, we recommend to upgrade all APT packages to the latest version._ + + ```sh + apt update + apt full-upgrade + apt install xz-utils + curl -O https://dietpi.com/downloads/images/DietPi_Proxmox-x86_64-Bookworm.qcow2.xz + sha256sum -c <(curl -sSf 'https://dietpi.com/downloads/images/DietPi_Proxmox-x86_64-Bookworm.qcow2.xz.sha256') + xz -d DietPi_Proxmox-x86_64-Bookworm.qcow2.xz + ``` + + Next, the disk image is imported. + **Note**: Replace `100` below with the **VM ID** entered during VM creation. + + ```sh + ID=100 + qm importdisk "$ID" DietPi_Proxmox-x86_64-Bookworm.qcow2 local-lvm + qm set "$ID" --scsi0 "local-lvm:vm-$ID-disk-0" + qm set "$ID" --boot order=scsi0 + ``` + + The VM can now be started, select it via left side navigation of the Proxmox web interface, then the **Start** button at the top right side, finally the **Console** button to watch and finish the DietPi first run setup. + Alternatively you can connect to the VM via SSH, after giving it some time to finish initial setup steps and obtaining its IP with your router or IP scanner. === "Parallels" diff --git a/docs/releases.md b/docs/releases.md index 7f42cc49..347be6c0 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 +- [v9.9 December 2024](releases/v9_9.md) - [v9.8 October 2024](releases/v9_8.md) - [v9.7 August 2024](releases/v9_7.md) - [v9.6 July 2024](releases/v9_6.md) diff --git a/docs/releases/v9_9.md b/docs/releases/v9_9.md new file mode 100644 index 00000000..7dfab2a7 --- /dev/null +++ b/docs/releases/v9_9.md @@ -0,0 +1,46 @@ +# Release Notes + +## December 2024 (version 9.9) + +### Overview + +The **December 17th, 2024** release of **DietPi v9.9** comes with new images for the Orange Pi 5 Max, Orange Pi 5 Pro and NanoPi M6 SBCs, improvements for YaCy, MineOS, frp, Logitech Media Server and the NFS server and additionally with several bug fixes. + +![NanoPi M6 board](../assets/images/dietpi-release-v9_09.jpg){: width="640" height="426" loading="lazy"} + +!!! cite "NanoPi M6. *Photo by `StephanStS`, DietPi*" + +### New images + +- [**Orange Pi 5 Pro**](../hardware.md#orange-pi-series) :octicons-arrow-right-16: Support for this new variant of the Orange Pi 5 family has been added to DietPi. Compared to the original Orange Pi 5, it features onboard WiFi 5, an eMMC slot, dual HDMI, and supports NVMe SSDs up to 2280 format. +- [**Orange Pi 5 Max**](../hardware.md#orange-pi-series) :octicons-arrow-right-16: Support for this new variant of the Orange Pi 5 family has been added to DietPi. Compared to the Orange Pi 5 Pro, it features onboard WiFi 6E and 2.5G Ethernet. +- [**NanoPi M6**](../hardware.md#nanopi-series-friendlyelec) :octicons-arrow-right-16: Support for this FriendlyELEC SBC with RK3588 SoC has been added to DietPi. Compared to the NanoPi R6S/R6C and NanoPC T6, aside of the great onboard features, we observed a significantly lower idle power usage. As usual, the optional metal case keeps it at cool temperatures, and has an LCD display builtin, which can be enabled via device tree overlay in DietPi. A related dietpi-config toggle is added with next release. + +### Enhancements + +- [**Virtual Machines**](../hardware.md#native-pc-virtual-machines) :octicons-arrow-right-16: `systemd-logind` is now enabled by default on VMs, as it provides ACPI functionality, needed to properly shutdown or reboot the VM from the virtualiser software, usually expected by users. +- [**DietPi-Tools**](../dietpi_tools.md) | [**DietPi-DDNS**](../dietpi_tools/software_installation.md#dietpi-ddns) :octicons-arrow-right-16: The `IPv6or4` option to update IPv6 only, if supported by server, network and provider, has been replaced with `IPv4and6`. A server being reachable via IPv6 only is rarely wanted, as many networks do not support it. Instead, usually one will want to have it reachable via both, IPv4 as well as IPv6, which is now possible when using DietPi-DDNS, and the new default. If, e.g. for security reason, IPv6 only is wanted, this option of course remains available, like before. Many thanks to @LOGIN-TB for doing this suggestion: +- [**DietPi-Tools**](../dietpi_tools.md) | [**DietPi-DDNS**](../dietpi_tools/software_installation.md#dietpi-ddns) :octicons-arrow-right-16: The cron job does now log server response messages and connection errors separately with respective severities. Some DDNS providers do not return an HTTP error code, but an error text embedded into a regular HTTP 200 response. This, as well as success responses can now be seen via `journalctl -t dietpi-ddns`. Many thanks to @jtmoon79 for doing this suggestion: +- [**DietPi-Tools**](../dietpi_tools.md) | [**DietPi-Services**](../dietpi_tools/system_configuration.md#dietpi-services) :octicons-arrow-right-16: `dietpi-services start` will not start disabled services anymore. This aligns with the behaviour of the `restart` command, which as well skips disabled services. The script is used within other DietPi scripts to (re)start services after maintenance operations, and it is unexpected when services, who were not running before, but explicitly disabled, are running afterwards. To manually start/stop individual services from the console, we recommend using `systemctl` directly, like on any other Linux distribution with `systemd`. Many thanks to @intiplink for reporting this unexpected behaviour while using dietpi-drive_manager: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**NFS Server**](../software/file_servers.md#nfs) :octicons-arrow-right-16: The `fsid=0` option has been removed from the `/mnt/dietpi_userdata` default export. As it is uncommon and not respected in `showmount -e` export lists, it caused confusion and issues. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**YaCy**](../software/distributed_projects.md#yacy) :octicons-arrow-right-16: The latest YaCy version will now be installed, and the global software password will be set as default admin password on fresh installs. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**MineOS**](../software/gaming.md#mineos) :octicons-arrow-right-16: As a security enhancement and workaround for a web UI login issue, a dedicated `mineos` user is created again. For new MineOS installs or after reinstall, one can login with this user, and the global software password. It has permissions to install and manage Minecraft instances. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**frp**](../software/advanced_networking.md#frp) :octicons-arrow-right-16: It is now possible to connect the client to a server which has no (an empty) authentication token configured. `frp` can now be installed non-interactively, where client + server daemons are both installed and configured to work with each other, with respective defaults for all inputs. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**frp**](../software/advanced_networking.md#frp) :octicons-arrow-right-16: Since the `ini` format for config files has been deprecated, and support will be removed in a future `frp` release, new installs and reinstalls/updates will generated `toml` format config files from now on. As of the large amount of config keys, which all changed between those formats, an automated conversion is sadly not possible. When doing a reinstall with existing `ini` configs, you will be informed about it, the old config(s) will be kept as backup in place, for a manual migration. All config keys for the `toml` format can be found here: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Logitech Media Server**](../software/media.md#logitech-media-server) :octicons-arrow-right-16: LMS has been renamed to Lyrion Music Server. For more details, see their new official website: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Sonarr**](../software/bittorrent.md#sonarr) :octicons-arrow-right-16: Sonarr v4 will be installed from now on, and a migration to Sonarr v4 is now possible by reinstall it via `dietpi-software reinstall 144`. Note that, since Sonarr v4 does not support ARMv6, this is not the case and not possible on RPi 1 and Zero (1). After a migration, once might want to uninstall Mono, which is not required for Sonarr v4 anymore. Note that some settings may be lost as of the database migration. At best create a backup, offered before the reinstall, and inform yourself about possible database migration issues and losses on the Sonarr websites. + +### Bug fixes + +- [**NanoPi M1 Plus**](../hardware.md#nanopi-series-friendlyelec) :octicons-arrow-right-16: Resolved an issue where Ethernet did not work because of a faulty kernel patch. Many thanks to @InnovoMagicCube and @InnovoDeveloper for reporting this issue: +- [**DietPi-Tools**](../dietpi_tools.md) | [**DietPi-DDNS**](../dietpi_tools/software_installation.md#dietpi-ddns) :octicons-arrow-right-16: Resolved an issue where the YDNS update test failed due to a changed response from the server API. Many thanks to @NatureHog for reporting and solving the issue: +- [**DietPi-Tools**](../dietpi_tools.md) | [**DietPi-Drive_Manager**](../dietpi_tools/system_configuration.md#dietpi-drive-manager) :octicons-arrow-right-16: Resolved an issue where a mounted drive could be mistakenly detected as dietpi_userdata location. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**InfluxDB**](../software/databases.md#influxdb) :octicons-arrow-right-16: Resolved an issue where the service did not start up after the recent package upgrade. The package upgrade removes the symlink `/var/lib/influxdb => /mnt/dietpi_userdata/influxdb`, which is recreated with this DietPi update. Many thanks to @uwjhn for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Node-RED**](../software/hardware_projects.md#node-red) :octicons-arrow-right-16: Resolved an issue where the service failed on ARMv6 systems, since a dependency module of Node-RED v4 does not support this architecture. Node-RED v3 will now be installed on those old RPi models. Many thanks to @mvanbrab for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Chromium**](../software/desktop.md#chromium) :octicons-arrow-right-16: Resolved an issue where optional Chromium flags via `CHROMIUM_OPTS+=` line in `/var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh` did not have any effect, as `+=` is bash-only syntax, while the script is executed with dash (`Bourne shell`). Many thanks to @Nurgak for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**MineOS**](../software/gaming.md#mineos) :octicons-arrow-right-16: Worked around an issue where the install failed on Bookworm systems, as one of the Node.js modules failed to compile for unknown reasons. Many thanks to @mikedebian for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**MineOS**](../software/gaming.md#mineos) :octicons-arrow-right-16: Worked around an issue where login into the web interface failed since Bullseye, as MineOS does not support the new default yescrypt password hash algorithm for UNIX users. A new dedicated `mineos` user is now created, and its password set explicitly with SHA512 hash algorithm. Many thanks to @maybaxstv for reporting this issue: +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**Node.js**](../software/webserver_stack.md#nodejs) :octicons-arrow-right-16: Resolved an issue where node failed on ARMv7 Bullseye systems, since the latest version for this architecture requires a newer C++ standard library than provided on Bullseye. +- [**DietPi-Software**](../dietpi_tools/software_installation.md#dietpi-software) | [**frp**](../software/advanced_networking.md#frp) :octicons-arrow-right-16: Resolved an issue where server address and port inputs for the client config generation were parsed incorrectly. + +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/software/advanced_networking.md b/docs/software/advanced_networking.md index 7dfa2e0a..df091533 100644 --- a/docs/software/advanced_networking.md +++ b/docs/software/advanced_networking.md @@ -315,8 +315,8 @@ A fast reverse proxy, helping you to expose a local server behind a NAT or firew Depending on whether you have installed as client, server, or both, there will be only the configuration files for that component. - - Client: `/etc/frp/frpc.ini` - - Server: `/etc/frp/frps.ini` + - Client: `/etc/frp/frpc.toml` + - Server: `/etc/frp/frps.toml` Note: You will need `root` access to edit these files. You can also edit the _client_ configuration file using Admin UI. diff --git a/docs/software/distributed_projects.md b/docs/software/distributed_projects.md index a83fba4e..1886f7e1 100644 --- a/docs/software/distributed_projects.md +++ b/docs/software/distributed_projects.md @@ -145,8 +145,10 @@ Essentially, it is a "peer-to-peer" Google search engine, not controlled by Goog The web interface is accessible via port **8090**: - URL = `http://:8090` + - Username = `admin` + - Password: `` (default: `dietpi`) -=== "Admin Interface Login" +=== "Reset password" Set password with: diff --git a/docs/software/file_servers.md b/docs/software/file_servers.md index 7d186e47..5f0403b7 100644 --- a/docs/software/file_servers.md +++ b/docs/software/file_servers.md @@ -229,7 +229,7 @@ Network file system server. === "Access configuration" The NFS access configuration is done via **export files**. - You can edit the `/etc/exports` file as well as adding further export files within the `/etc/exports.d` directory. + Therefore, the file `/etc/exports` can be edited as well as adding further export files within the `/etc/exports.d` directory. **Explanations of the export file format** are available in the internet or can be read in the man pages (use `man exports`, therefore the package **man** needs to be installed). @@ -239,7 +239,7 @@ Network file system server. exportfs -ra ``` - Alternatively you can restart the service (`systemctl restart nfs-kernel-server`). + Alternatively the service can be restarted (`systemctl restart nfs-server`). The actual access configuration can be displayed with the command @@ -247,29 +247,60 @@ Network file system server. exportfs ``` - On the client side you can query the mountable exports with the command + On the client side the mountable exports can be queried with the command ``` showmount -e ``` -=== "Default configuration / increase security" +=== "Default configuration / limit access" By default the DietPi NFS installation exports the directory `/mnt/dietpi_userdata` for everyone. This is configured in `/etc/exports.d/dietpi.exports`. You can edit this file to restrict the access. - E.g. you could limit the access to the NFS share by setting a IP address range: + E.g. access to the NFS share can be limited to the IP address range of 192.168.0.1-255, by editing `/etc/exports.d/dietpi.exports` as follows: - - Edit the following file: `/etc/exports.d/dietpi.exports` - - To only allow users access with an IP address range of 192.168.0.1-255 + ``` + /mnt/dietpi_userdata 192.168.0.*(rw,async,no_root_squash,crossmnt,no_subtree_check) + ``` - ``` - /mnt/dietpi_userdata 192.168.0.*(rw,async,no_root_squash,fsid=0,crossmnt,no_subtree_check) - ``` + Apply the new configuration via `systemctl restart nfs-server` or `exportfs -ra`. + +=== "NFS v3 disable/enable" + + One option to disable NFS v3 is to add a file to the directory `/etc/nfs.conf.d/` with the following content: + + ```sh + cat << _EOF_ > "/etc/nfs.conf.d/00-dietpi.conf" + # Disable NFS v3 (to only have NFS v4 enabled) + # + [nfsd] + vers3=n + #vers4=y + #vers4.1=y + #vers4.2=y + _EOF_ + ``` + + A restart of the NFS service is then necessary: + + ```sh + systemctl restart nfs-server + ``` + + The disabled NFS v3 can be examined with: + + ```console + root@NFS-server:/etc/nfs.conf.d# cat /proc/fs/nfsd/versions + -3 +4 +4.1 +4.2 + ``` + + The example output gives that NFS v3 is not active (-3) whereas NFS v4 is active (+4 +4.1 +4.2). - - Activate the new configuration (`systemctl restart nfs-kernel-server` or `exportfs -ra`) + To re-enable NFS v3 again, the entry `vers3=y` can be used, or the complete file `/etc/nfs.conf.d/00-dietpi.conf` can be deleted (also restarting the `nfs-server` service afterwards). *** -Wikipedia: +Wikipedia: +DietPi Blog: [DietPi and NFS: Basics and improving security](https://dietpi.com/blog/?p=3581) [Return to the **Optimised Software list**](../software.md) diff --git a/docs/software/gaming.md b/docs/software/gaming.md index 223f8acd..d1b4b19d 100644 --- a/docs/software/gaming.md +++ b/docs/software/gaming.md @@ -125,8 +125,14 @@ MineOS allows you to create multiple Minecraft servers with ease, using a simple - URL: `https://:8443` You can safely ignore the certificate "warning" if one appears. - - Username: `root` - - Password: The same as your root login password. Default is `dietpi` + - Username: `mineos` + - Password = `` (default: `dietpi`) + + To change the password to `myPassword`, run the following command: + + ```sh + sudo chpasswd --crypt-method SHA512 <<< 'mineos:myPassword' + ``` === "1st run setup" @@ -144,6 +150,10 @@ MineOS allows you to create multiple Minecraft servers with ease, using a simple Your server should now be running, on the default port 25565. + !!! warning "Minecraft Java version requirements" + Note that Minecraft 1.20.5 and above requires Java 21, which is available on Debian Trixie/testing only, or with a custom Java installation. + ARMv6 RPi models (RPi 1 and Zero 1) can only run Minecraft 1.16 or older, as newer Java versions do not support ARMv6 with Hotspot VM anymore. + *** Official forum: diff --git a/docs/software/programming.md b/docs/software/programming.md index d1468ccd..92e5b3ed 100644 --- a/docs/software/programming.md +++ b/docs/software/programming.md @@ -332,7 +332,7 @@ VSCodium is a FLOSS version of [Microsoft's Visual Studio code](https://code.vis ``` Documentation (Visual Studio Code): -Documentation (VSCodium): +Documentation (VSCodium): Source code: License: [MIT](https://github.com/VSCodium/vscodium/blob/master/LICENSE) diff --git a/docs/software/system_security.md b/docs/software/system_security.md index 26c5bbdb..a3f04535 100644 --- a/docs/software/system_security.md +++ b/docs/software/system_security.md @@ -67,8 +67,6 @@ We have enabled detection for SSH servers (OpenSSH and Dropbear), however, Fail2 ![Fail2Ban example console logs output](../assets/images/dietpi-software-security-fail2ban2.jpg){: width="550" height="360" loading="lazy"} -Source: [`Lostcontrol` of Fail2ban wiki](https://fail2ban.org/wiki/index.php/File:Fail2ban-screenshot.jpg), [GPL](https://commons.wikimedia.org/w/index.php?curid=19776087) - An IP address is by default ban triggered after 3 failed SSH login attempts. Fail2Ban will ban the source IP address for 10 minutes. === "Check status of block activity" @@ -83,16 +81,16 @@ An IP address is by default ban triggered after 3 failed SSH login attempts. Fai === "Configuration" Fail2Ban can handle several configuration options like general configuration and configurations for special programs on a config file base. The location of these config files is a directory structure within `/etc/fail2ban/` and its subdirectories. - See the [Fail2Ban configuration documentation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Configuration) for further information. + See the [Fail2Ban documentation](https://github.com/fail2ban/fail2ban/wiki) for further information including [many filter configuration examples for programs](https://github.com/fail2ban/fail2ban/tree/master/config/filter.d). === "Enable support for additional programs" Fail2Ban supports brute-force protection for other software, like Apache and ProFTPD. Pre-defined software filters can be found in the `/etc/fail2ban/filter.d/` directory. You can enable/disable these by adding additional `[software]` filter blocks to the `/etc/fail2ban/jail.conf` file, using the filters' file names without file extension. Properties not defined in a specific filter block, are taken from the `[DEFAULT]` block. - See also the Fail2Ban configuration documentation for [vsftpd](https://www.fail2ban.org/wiki/index.php/Vsftpd) and [ProFTPD](https://www.fail2ban.org/wiki/index.php/ProFTPd). + See also the Fail2Ban configuration examples for [vsftpd](https://github.com/fail2ban/fail2ban/blob/master/config/filter.d/vsftpd.conf) and [ProFTPD](https://github.com/fail2ban/fail2ban/blob/master/config/filter.d/proftpd.conf). *** -Website: +Website: [Return to the **Optimised Software list**](../software.md) diff --git a/docs/software/webserver_stack.md b/docs/software/webserver_stack.md index d8f0ebb5..8a41107f 100644 --- a/docs/software/webserver_stack.md +++ b/docs/software/webserver_stack.md @@ -498,14 +498,20 @@ Source: [The Apache Software Foundation](https://svn.apache.org/viewvc/jakarta/s === "Install" - Starting with DietPi 7.3 `Tomcat 8` has been removed from the DietPi Software List. The reason is that `Tomcat 8` is available until Debian Stretch only. From Debian Buster and newer versions, it will be supported only Tomcat 9. + Depending on the Debian version, different Apache Tomcat versions are compatible (see also the [Debian Tomcat package information](https://packages.debian.org/search?section=all&arch=any&searchon=names&keywords=tomcat)): - To install Tomcat 9, run next command in the console: + | Debian version | Installation command | + | - | - | + | Debian 12 (Bookworm) | `apt install tomcat10`| + | Debian 11 (Bullseye) | `apt install tomcat9`| + | Debian 10 (Buster) | `apt install tomcat9`| + | Debian 9 (Stretch) | `apt install tomcat8`| + + To install Tomcat, run the according command in the console, e.g. for Debian Bookworm: ```sh - apt install tomcat9 + apt install tomcat10 ``` - === "Quick access" The web interface is accessible via port **8080**: @@ -554,16 +560,18 @@ Flask is a lightweight web application framework. It is designed to make getting === "Quick start" - In order to use **Flask** it is first required first to install the Python Package Manager - [see Python 3](programming.md#python-3). Then run the next command. + In order to use **Flask** it is first required first to install the Python Package Manager - [see Python 3](programming.md#python-3). Then, the following command is executed to install Flask: ```sh pip3 install -U Flask ``` + This command can also be used to update an existing Flask installation. + *** Website: -Official documentation: +Official documentation: PyPI package page: ### Node.js diff --git a/mkdocs.yml b/mkdocs.yml index d066dd98..dfb066b7 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -145,6 +145,7 @@ nav: - Miscellaneous Tools: dietpi_tools/misc_tools.md - RELEASES: - Overview: releases.md + - v9.9 December 2024: releases/v9_9.md - v9.8 October 2024: releases/v9_8.md - v9.7 August 2024: releases/v9_7.md - v9.6 July 2024: releases/v9_6.md