diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index b97b3a583..cac3ef860 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -1,7 +1,11 @@ name: Build test and quality checks -on: push +on: [pull_request, push] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: Actions: + if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.owner.login != github.event.pull_request.base.repo.owner.login # https://github.com/actions/virtual-environments runs-on: ubuntu-latest steps: @@ -24,7 +28,7 @@ jobs: uses: actions/setup-python@v3 with: # https://github.com/actions/python-versions/releases - python-version: '3.9.10' + python-version: '3.9.12' - name: Install MkDocs id: mkdocs if: always() && steps.python.outcome == 'success' @@ -54,4 +58,4 @@ jobs: - name: Run lychee to check README and HTML files if: always() && steps.lychee.outcome == 'success' # "429 Too Many Requests" on GitHub despite token - run: ./lychee -En --require-https --exclude '^(https://pydio.com/|https://twitter.com/|http://wiringpi.com/|https://fonts.gstatic.com/|admin@koel.dev$|root@192.168.1.20$|https://bridges.torproject.org/|https://www.spigotmc.org/|https://www.audiophonics.fr/|https://help.realvnc.com/|https://www.php.net/)' -a 429 --github-token '${{ secrets.GITHUB_TOKEN }}' -b build README.md 'build/**/*.html' + run: ./lychee -En --require-https --cache --exclude '^(pipe://|librespot://|airplay://|https://blynk.io/|https://pydio.com/|https://twitter.com/|http://wiringpi.com/|https://fonts.gstatic.com/|admin@koel.dev$|root@192.168.1.20$|https://bridges.torproject.org/|https://www.spigotmc.org/|https://www.audiophonics.fr/|https://help.realvnc.com/|https://www.php.net/)' -a 429 --github-token '${{ secrets.GITHUB_TOKEN }}' -b build README.md 'build/**/*.html' diff --git a/.wordlist.txt b/.wordlist.txt index 281620794..d6747bb11 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -71,6 +71,7 @@ CloudPrint CloudShell codecs Computerworld +congerdesign conf config configs @@ -277,6 +278,7 @@ Logrotate loopback LPDDR LTS +LXC LXDE LXQt macOS @@ -306,7 +308,7 @@ Mopidy morse Morsecode Mosquitto -MotionEye +motionEye MOTD MPM MPD @@ -330,6 +332,7 @@ NanoPC NanoPi NAS natively +nd Netdata Nextcloud NFS @@ -436,6 +439,7 @@ RDBMS RDP ReadyMedia RealVNC +reconfigures reconfiguring Remot renamer @@ -650,3 +654,4 @@ ZFS zlib zr zram +xz diff --git a/docs/assets/images/Parallels1.jpg b/docs/assets/images/Parallels1.jpg index 75d24f295..34a3e3d9d 100644 Binary files a/docs/assets/images/Parallels1.jpg and b/docs/assets/images/Parallels1.jpg differ diff --git a/docs/assets/images/UTM1.png b/docs/assets/images/UTM1.png old mode 100755 new mode 100644 index ef7b8b689..6bfeeace8 Binary files a/docs/assets/images/UTM1.png and b/docs/assets/images/UTM1.png differ diff --git a/docs/assets/images/UTM2.png b/docs/assets/images/UTM2.png old mode 100755 new mode 100644 index 957e19cb5..81d50ffdf Binary files a/docs/assets/images/UTM2.png and b/docs/assets/images/UTM2.png differ diff --git a/docs/assets/images/UTM3.png b/docs/assets/images/UTM3.png old mode 100755 new mode 100644 index 254259a44..4f98294cd Binary files a/docs/assets/images/UTM3.png and b/docs/assets/images/UTM3.png differ diff --git a/docs/assets/images/UTM4.png b/docs/assets/images/UTM4.png index 694d8f09b..2b194eee6 100644 Binary files a/docs/assets/images/UTM4.png and b/docs/assets/images/UTM4.png differ diff --git a/docs/assets/images/VMwareESXi_01.jpg b/docs/assets/images/VMwareESXi_01.jpg index dfceb8ea9..2d4b02b12 100644 Binary files a/docs/assets/images/VMwareESXi_01.jpg and b/docs/assets/images/VMwareESXi_01.jpg differ diff --git a/docs/assets/images/VMwareESXi_02.jpg b/docs/assets/images/VMwareESXi_02.jpg index e5888f805..237d0e8f1 100644 Binary files a/docs/assets/images/VMwareESXi_02.jpg and b/docs/assets/images/VMwareESXi_02.jpg differ diff --git a/docs/assets/images/VMwareESXi_03.jpg b/docs/assets/images/VMwareESXi_03.jpg index a5def54b3..df4ecdbcf 100644 Binary files a/docs/assets/images/VMwareESXi_03.jpg and b/docs/assets/images/VMwareESXi_03.jpg differ diff --git a/docs/assets/images/VMwareESXi_04.jpg b/docs/assets/images/VMwareESXi_04.jpg index 7876a0870..f12fc025e 100644 Binary files a/docs/assets/images/VMwareESXi_04.jpg and b/docs/assets/images/VMwareESXi_04.jpg differ diff --git a/docs/assets/images/VMwareESXi_05.jpg b/docs/assets/images/VMwareESXi_05.jpg index c0a15e612..47cff053d 100644 Binary files a/docs/assets/images/VMwareESXi_05.jpg and b/docs/assets/images/VMwareESXi_05.jpg differ diff --git a/docs/assets/images/airsonic_setup_1.png b/docs/assets/images/airsonic_setup_1.png index 3cdda3119..f18c49b36 100644 Binary files a/docs/assets/images/airsonic_setup_1.png and b/docs/assets/images/airsonic_setup_1.png differ diff --git a/docs/assets/images/airsonic_setup_2.png b/docs/assets/images/airsonic_setup_2.png index 6467c9d3a..bccb1781c 100644 Binary files a/docs/assets/images/airsonic_setup_2.png and b/docs/assets/images/airsonic_setup_2.png differ diff --git a/docs/assets/images/airsonic_setup_3.png b/docs/assets/images/airsonic_setup_3.png index 490d4cb5d..27908dae4 100644 Binary files a/docs/assets/images/airsonic_setup_3.png and b/docs/assets/images/airsonic_setup_3.png differ diff --git a/docs/assets/images/dietpi-banner-reboot.jpg b/docs/assets/images/dietpi-banner-reboot.jpg index 4b078585f..353505975 100644 Binary files a/docs/assets/images/dietpi-banner-reboot.jpg and b/docs/assets/images/dietpi-banner-reboot.jpg differ diff --git a/docs/assets/images/dietpi-banner_large_hostname.png b/docs/assets/images/dietpi-banner_large_hostname.png index e9a5505fb..88732d83d 100644 Binary files a/docs/assets/images/dietpi-banner_large_hostname.png and b/docs/assets/images/dietpi-banner_large_hostname.png differ diff --git a/docs/assets/images/dietpi-release-v8_2.jpg b/docs/assets/images/dietpi-release-v8_2.jpg index d047113c8..08d7f8e11 100644 Binary files a/docs/assets/images/dietpi-release-v8_2.jpg and b/docs/assets/images/dietpi-release-v8_2.jpg differ diff --git a/docs/assets/images/dietpi-release-v8_3.jpg b/docs/assets/images/dietpi-release-v8_3.jpg new file mode 100644 index 000000000..98a5f8732 Binary files /dev/null and b/docs/assets/images/dietpi-release-v8_3.jpg differ diff --git a/docs/assets/images/dietpi-software-php-composer.png b/docs/assets/images/dietpi-software-php-composer.png new file mode 100644 index 000000000..3fd0072f5 Binary files /dev/null and b/docs/assets/images/dietpi-software-php-composer.png differ diff --git a/docs/assets/images/dietpi-software-webstack-redis.svg b/docs/assets/images/dietpi-software-webstack-redis.svg deleted file mode 100644 index abc0dadf4..000000000 --- a/docs/assets/images/dietpi-software-webstack-redis.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/microk8s.png b/docs/assets/images/microk8s.png index f2c08c62a..77cb2be05 100644 Binary files a/docs/assets/images/microk8s.png and b/docs/assets/images/microk8s.png differ diff --git a/docs/assets/images/proxmox1.png b/docs/assets/images/proxmox1.png index 362fb1890..068747df4 100644 Binary files a/docs/assets/images/proxmox1.png and b/docs/assets/images/proxmox1.png differ diff --git a/docs/assets/images/proxmox2.png b/docs/assets/images/proxmox2.png index 32e34ca79..534c5766c 100644 Binary files a/docs/assets/images/proxmox2.png and b/docs/assets/images/proxmox2.png differ diff --git a/docs/assets/images/proxmox3.png b/docs/assets/images/proxmox3.png index 454715ee3..56918c45a 100644 Binary files a/docs/assets/images/proxmox3.png and b/docs/assets/images/proxmox3.png differ diff --git a/docs/assets/images/redis-logo.svg b/docs/assets/images/redis-logo.svg new file mode 100644 index 000000000..2e9682539 --- /dev/null +++ b/docs/assets/images/redis-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/releases.md b/docs/releases.md index fe3875a11..be5128b9d 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 +- [v8.3 April 2022](v8_3/) - [v8.2 March 2022](v8_2/) - [v8.1 February 2022](v8_1/) - [v8.0 January 2022](v8_0/) diff --git a/docs/releases/v8_3.md b/docs/releases/v8_3.md new file mode 100644 index 000000000..0dd797e45 --- /dev/null +++ b/docs/releases/v8_3.md @@ -0,0 +1,51 @@ +# Release Notes + +## April 2022 (version 8.3) + +### Overview + +The April 2nd 2022 release of DietPi v8.3 comes together with xxx + +![Easter eggs](../assets/images/dietpi-release-v8_3.jpg){: width="426" height="283" loading="lazy"} + +!!! cite "_Photo by congerdesign, Pixabay_" + +### New software + +- [**PHP Composer**](../../software/system_stats/#microk8s) :octicons-arrow-right-16: The PHP package manager has been made a dedicated install option. + ![PHP Composer logo](../assets/images/dietpi-software-php-composer.png){: width="80" height="97" loading="lazy"} + + !!! cite "Source: [`WizardCat - getcomposer.org`](https://commons.wikimedia.org/w/index.php?curid=38131432) via Wikimedia tech blog, MIT" + +### SBC/hardware support + +- **Container** :octicons-arrow-right-16: Initial support for container systems has been added to DietPi, using hardware ID 75. For now it is assumed that the container guest does not require an own network stack, but uses the host network interface or one managed by the container engine. This works well with `systemd-nspawn` which we use for DietPi image generation and for testing DietPi features in CI/CD pipelines. Further support and images for specific container engines, like Docker or LXC with Proxmox and QEMU will follow. + +### Improvements + +- [**DietPi-Banner**](../../dietpi_tools/#dietpi-banner) :octicons-arrow-right-16: It is now possible to hide the credits section from the DietPi banner. Run `dietpi-banner` to configure its content. Many thanks to @math-gout for contributing this feature: +- [**DietPi-Drive_Manager**](../../dietpi_tools/#dietpi-drive-manager) :octicons-arrow-right-16: Adding an NFS drive now allows to select a specific export from an NFS server, detected via `showmount -e `. Entering a custom path is still possible, including the single slash `/` which was always used before. If the NFS server has no root export defined via `fsid=0`, this solves the issue that the full root directory structure is mounted and allows to mount multiple shares from the same server. Many thanks to [phpBB:bamyasi](https://dietpi.com/phpbb/memberlist.php?username=bamyasi){: class="nospellcheck"} for doing this suggestion: +- [**DietPi-Drive_Manager**](../../dietpi_tools/#dietpi-drive-manager) :octicons-arrow-right-16: NFS and Samba network drives can now be mounted to any directory on the server, not necessarily below `/mnt`. +- [**DietPi-DDNS**](../../dietpi_tools/#dietpi-ddns) :octicons-arrow-right-16: It is now possible to select the IP family to associate with your DDNS domain. For new setups, IPv4 is used by default for best compatibility. If you configured your DDNS domain already, no IP family is forced to not change existing behaviour, unless selected explicitly. We recommend to use IPv4 so that your server can be reached with any client from any network, regardless whether client and network support IPv6 or not. Many thanks to @TomBayne for suggesting this feature: +- **DietPi-Software** | [**motionEye**](../../software/camera/#motioneye) :octicons-arrow-right-16: We worked together with other contributors to revive motionEye and port it over to Python 3, which also allowed us to re-enable it on Debian Bullseye systems. It requires further careful testing before a stable release can be done, but common functionality works. We enabled it with a `beta` mark in DietPi-Software. Visit the new home of motionEye, and if you want, contribute or help testing: +- **DietPi-Software** | [**Node-RED**](../../software/hardware_projects/#node-red) :octicons-arrow-right-16: The `nodered` service user is now added to the `spi` system group automatically, relevant on Raspberry Pi to grant it access to SPI-attached sensors and similar. Many thanks to [phpBB:devifast](https://dietpi.com/phpbb/memberlist.php?username=devifast){: class="nospellcheck"} for reporting a related issue: +- **DietPi-Software** | [**TasmoAdmin**](../../software/home_automation/#tasmoadmin) :octicons-arrow-right-16: Reduced the downloaded data size from ~150 MiB to ~4 MiB by downloading the runtime files of the latest release only instead of the whole GitHub repository archive. + +### Bug Fixes + +- [**NanoPi NEO3**](../../hardware/#nanopi-series-friendlyarm) :octicons-arrow-right-16: Resolved an issue where the board became unbootable after an `apt upgrade` because the latest version of the Armbian kernel does not ship a NEO3 device tree anymore. On DietPi upgrade, it is switched to the NanoPi R2 rev00 device tree, which works regarding Ethernet, USB and general GPIO interface: +- [**Raspberry Pi**](../../hardware/#raspberry-pi) :octicons-arrow-right-16: Resolved an issue where enabling and using onboard WiFi during first run installs was failing if a reboot was done after first run update due to a kernel upgrade. Many thanks to @matteocarnelos for reporting this issue: +- **Network** :octicons-arrow-right-16: Resolved an issue where the systemd network targets could have been reached before the network adapter was even detected. Many thanks to [phpBB:Totila](https://dietpi.com/phpbb/memberlist.php?username=Totila){: class="nospellcheck"} for reporting this issue: +- **DietPi-WiFi-Monitor** :octicons-arrow-right-16: The first default gateway check is not done after the first tick rate interval instead of immediately after service start. This adds another grace period at boot to reduce the chance that the WiFi monitor reconfigures the interface which is just about to be configured for the first time. This should usually not be required, but may help with cases where the initial DHCP lease or WPA authentication time out of fail. +- **DietPi-TimeSync** :octicons-arrow-right-16: Resolved an issue where the script threw a syntax error where it shouldn't, which however didn't affect functionality. Many thanks to @adminy for reporting this issue: +- **DietPi-Login** :octicons-arrow-right-16: Resolved an issue where a prompt about an unsupported SSH client terminal was incorrectly shown. Many thanks to @jahway603 and @Dagon for reporting this issue: , +- [**DietPi-Drive_Manager**](../../dietpi_tools/#dietpi-drive-manager) :octicons-arrow-right-16: Worked around an issue on Bullseye with legacy Linux versions, where exFAT filesystems failed to mount since the exFAT driver for FUSE is not invoked automatically if the native kernel driver is missing. A symlink for `mount.exfat => mount.exfat-fuse` is now created in these cases to force this invocation, and it is removed as fast as due to a kernel upgrade, the native exFAT driver becomes available. Many thanks to @RunningUtes for reporting this issue: +- **DietPi-Software** | [**Kodi**](../../software/media/#kodi) :octicons-arrow-right-16: Resolved an issue on Raspberry Pi Bullseye systems where libraries were missing to run Kodi via KMS/DRM. Many thanks to [phpBB:derebo](https://dietpi.com/phpbb/memberlist.php?username=derebo){: class="nospellcheck"} for reporting this issue: +- **DietPi-Software** | [**Mopidy**](../../software/media/#mopidy) :octicons-arrow-right-16: Resolved an issue where there installation failed. Many thanks to [phpBB:amibumpin](https://dietpi.com/phpbb/memberlist.php?username=amibumpin){: class="nospellcheck"} for reporting this issue: +- **DietPi-Software** | [**rTorrent**](../../software/bittorrent/#rtorrent) :octicons-arrow-right-16: Resolved an issue where the web interface didn't work with Nginx because the PHP handler wasn't set. Many thanks to @vinhtq115 for providing the solution: +- **DietPi-Software** | [**Webmin**](../../software/system_stats/#webmin) :octicons-arrow-right-16: Worked around an issue where the install failed. Many thanks to @omavoss for reporting this issue: +- **DietPi-Software** | [**WireGuard**](../../software/vpn/#wireguard) :octicons-arrow-right-16: Resolved an issue where the WireGuard module shipped with the kernel was not detected if it is shipped xz-compressed. Many thanks to [phpBB:Carbonara](https://dietpi.com/phpbb/memberlist.php?username=Carbonara){: class="nospellcheck"} for reporting this issue: +- **DietPi-Software** | [**Chromium**](../../software/desktop/#chromium) :octicons-arrow-right-16: Resolved an issue on Raspberry Pi Bullseye systems where pages did not load but a "Page Unresponsive" error prompt was shown after a while instead, if KMS/DRM was not used. Many thanks to @pastaholic for reporting this issue: +- **DietPi-Software** | [**Nukkit**](../../software/gaming/#nukkit) :octicons-arrow-right-16: Resolved an issue where the service failed to start because of an unintended single quote character in the service file. Many thanks to @richardpdunngb 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/software/camera.md b/docs/software/camera.md index 80aaf120a..c0969e193 100644 --- a/docs/software/camera.md +++ b/docs/software/camera.md @@ -8,7 +8,7 @@ description: Description of DietPi software options related to camera and survei ## Overview - [**RPi Cam Control - Web interface & controls for your RPi camera**](#rpi-cam-control) -- [**MotionEye - Web interface & surveillance for your camera**](#motioneye) +- [**motionEye - Web interface & surveillance for your camera**](#motioneye) - [**mjpg-streamer - Simple camera streaming tool with HTML plugin**](#mjpg-streamer) ??? info "How do I run **DietPi-Software** and install **optimised software** items?" @@ -49,7 +49,7 @@ It consists of full control of the camera in a web-based interface. === "Access recordings (w/o web interface)" To access you recordings remotely without the web interface, you might want to have one of [DietPi's file servers](../file_servers/) installed. - Directories used by MotionEye: + Directories used by motionEye: - Media directory = `/mnt/dietpi_userdata/rpicam` - Accessed from file server = `/rpicam` @@ -77,9 +77,9 @@ Github page: Wiki: License: [MIT](https://github.com/silvanmelchior/RPi_Cam_Web_Interface/blob/master/LICENSE.txt) -## MotionEye +## motionEye -The *MotionEye* package offers surveillance for your camera. +The *motionEye* package offers surveillance for your camera. It is mainly focused towards motion detection usage. It contains a web interface. The software can @@ -91,7 +91,7 @@ The software can from any RPi camera, USB camera or an IP camera network stream. -![MotionEye web interface screenshot](../assets/images/dietpi-software-camera-motioneye.png){: width="500" height="246" loading="lazy"} +![motionEye web interface screenshot](../assets/images/dietpi-software-camera-motioneye.png){: width="500" height="246" loading="lazy"} === "Access the web interface" @@ -106,14 +106,14 @@ from any RPi camera, USB camera or an IP camera network stream. === "Access recordings (w/o web interface)" To access you recordings remotely without the web interface, you might want to have one of [DietPi's file servers](../file_servers/) installed. - Directories used by MotionEye: + Directories used by motionEye: - Media directory = `/mnt/dietpi_userdata/motioneye` - Accessed from file server = `/motioneye` === "Update to latest version" - MotionEye can be updated to the latest version via + motionEye can be updated to the latest version via ```sh sudo pip2 install -U motioneye @@ -132,8 +132,8 @@ from any RPi camera, USB camera or an IP camera network stream. Github page: Wiki: -Tutorial: [MotionEye on DietPi on Raspberry Pi: keeping an eye on things](https://mansfield-devine.com/speculatrix/2018/12/motioneye-on-dietpi-on-raspberry-pi/) -YouTube video tutorial (German language): `DietPi & MotionEye - Vollautomatische Installation inkl. Wlan Konfiguration, Updates und Anwendung`. +Tutorial: [motionEye on DietPi on Raspberry Pi: keeping an eye on things](https://mansfield-devine.com/speculatrix/2018/12/motioneye-on-dietpi-on-raspberry-pi/) +YouTube video tutorial (German language): `DietPi & motionEye - Vollautomatische Installation inkl. Wlan Konfiguration, Updates und Anwendung`. diff --git a/docs/software/databases.md b/docs/software/databases.md index 23b535068..4e8e0bcd5 100644 --- a/docs/software/databases.md +++ b/docs/software/databases.md @@ -89,9 +89,9 @@ Official documentation: A non-SQL based data store. -![Redis logo](../assets/images/dietpi-software-webstack-redis.svg){: width="200" height="67" loading="lazy"} +![Redis logo](../assets/images/redis-logo.svg){: width="200" height="68" loading="lazy"} -Source: [Carlos Prioglio](https://redis.io/images/redis-logo.svg), [licence](https://commons.wikimedia.org/w/index.php?curid=95020509). +_[Trademark guidelines](https://redis.io/docs/about/trademark/)_ **Redis** is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. diff --git a/docs/software/remote_desktop.md b/docs/software/remote_desktop.md index 820fc83e5..b0681ab0d 100644 --- a/docs/software/remote_desktop.md +++ b/docs/software/remote_desktop.md @@ -246,12 +246,20 @@ The VirtualHere package is used to share physically attached USB devices from yo ![VirtualHere client screenshot](../assets/images/dietpi-software-remotedesktop-virtualhere.png){: width="400" height="252" loading="lazy"} +The functionality consists of two parts: + +- The [server](https://virtualhere.com/content/usb-servers): This software part is installed with the DietPi software package. It serves your USB device over the network. +- The [client](https://virtualhere.com/usb_client_software): This software part needs to be installed on every client which wants to access the USB devices. + Download the client for your PC from: - Once installed, available VirtualHere devices will be shown in the client user interface and can be used on the client PC. +!!! info "VirtualHere trial version is restricted to one single USB device per server instance" + The base installation of this DietPi software package installs the VirtualHere server. Basically it starts as a trial version supporting only one single USB device. To overcome this, you need to [buy a licence](https://virtualhere.com/purchase). + !!! warning "USB Storage WARNING" - As per it it highly recommended that you do not install VirtualHere if your DietPi user data is stored on a USB drive. - VirtualHere does not take into account mounted drives when selecting them for remote use. This is potentially dangerous for any mounted drive that is in use and may cause data loss. diff --git a/mkdocs.yml b/mkdocs.yml index 17479d08d..eff75a9a1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -131,6 +131,7 @@ nav: - Web Development: software/webserver_stack.md - RELEASES: - Overview: releases.md + - v8.3 April 2022: releases/v8_3.md - v8.2 March 2022: releases/v8_2.md - v8.1 February 2022: releases/v8_1.md - v8.0 January 2022: releases/v8_0.md diff --git a/requirements.txt b/requirements.txt index 3332d4871..805d1abfd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ mkdocs>=1.2.3 mkdocs-material<8 mkdocs-minify-plugin>=0.5.0 +jinja2<3.1