diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 76f38f078..69b0cf8fa 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -3,23 +3,17 @@ on: [pull_request, push]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
+permissions: { contents: read }
jobs:
main:
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/runner-images
- runs-on: ubuntu-22.04
- defaults:
- run:
- shell: sh
+ runs-on: ubuntu-24.04
steps:
- - name: Setup tmpfs
- run: sudo mount -t tmpfs -o "noatime,lazytime,uid=$(id -u)" tmpfs "$GITHUB_WORKSPACE"
- name: Clone DietPi-Docs repository
id: clone
- # https://github.com/actions/checkout/tags
uses: actions/checkout@v4
- name: Setup Node.js for markdownlint-cli2
- # https://github.com/actions/setup-node/tags
uses: actions/setup-node@v4
with:
node-version: '*'
@@ -31,11 +25,10 @@ jobs:
- name: Setup Python for MkDocs and PySpelling
id: python
if: always() && steps.clone.outcome == 'success'
- # https://github.com/actions/setup-python/tags
uses: actions/setup-python@v5
with:
# Match version on dietpi.com server
- python-version: '3.11.2'
+ python-version: '3.11.9'
- name: Install MkDocs
id: mkdocs
if: always() && steps.python.outcome == 'success'
@@ -68,13 +61,9 @@ jobs:
# "429 Too Many Requests" on GitHub despite token
# Exclude URLs for newly added Markdown files as well as raw view and edit GitHub URLs for all existing Markdown files
# parallels.com|chromewebstore.google.com: Cloudflare lets client enter redirect loop, if it does not send a cookie, set in response.
- # raspberrypi.com|www.reddit.com|superuser.com: Network error: Forbidden
+ # raspberrypi.com|www.reddit.com|superuser.com|twitter.com/DietPi_|www.patreon.com/DietPi: Network error: Forbidden
run: |
git fetch --depth=1 origin master
- while read -r line; do exclude="$exclude|dietpi.com/${line%.md}/"; done << _EOF_
- $(git diff --name-only --diff-filter=A origin/master docs | grep '.md$')
- _EOF_
- while read -r line; do exclude="$exclude|github.com/MichaIng/DietPi-Docs/(raw|edit)/dev/$line"; done << _EOF_
- $(find docs -type f -name '*.md')
- _EOF_
- ./lychee -En --require-https --cache --exclude '^(http://wiringpi.com/$|https://(twitter.com/DietPi_$|www.linux-kvm.org/$|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'
+ 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://(twitter.com/DietPi_$|www.patreon.com/DietPi$|www.linux-kvm.org/$|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/docs/hardware.md b/docs/hardware.md
index 663ce1c81..33c58e7d5 100644
--- a/docs/hardware.md
+++ b/docs/hardware.md
@@ -593,12 +593,6 @@ For more details visit the [**Orange Pi**](http://www.orangepi.org/index.html) w
Download: DietPi image
-
- Orange Pi Zero 3 (1.5 GB RAM) |
-
- Download: DietPi image
- |
-
Orange Pi 3B |
diff --git a/docs/install.md b/docs/install.md
index 8315f8da8..8375df657 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -406,7 +406,7 @@ Select the following tabs for the installation description of your target.
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 "**5.x - 2.6 Kernel**" is selected, then click **Next**.
+ 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**.
diff --git a/docs/software/camera.md b/docs/software/camera.md
index 6a06466ed..f2f213c64 100644
--- a/docs/software/camera.md
+++ b/docs/software/camera.md
@@ -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.md) installed.
- Directories used by motionEye:
+ Directories used by RPi Cam Web Interface:
- Media directory = `/mnt/dietpi_userdata/rpicam`
- Accessed from file server = `/rpicam`
diff --git a/docs/software/gaming.md b/docs/software/gaming.md
index 4f2d565c0..223f8acdc 100644
--- a/docs/software/gaming.md
+++ b/docs/software/gaming.md
@@ -489,7 +489,7 @@ PaperMC by default runs a single server, available on LAN, but can be port forwa
***
-Official website:
+Official website:
Source code:
## Box86
diff --git a/docs/software/programming.md b/docs/software/programming.md
index 78041443d..f34d570f9 100644
--- a/docs/software/programming.md
+++ b/docs/software/programming.md
@@ -206,6 +206,50 @@ _Source: [User:`Maklaan` - Based on a Docker blog post](https://commons.wikimedi
journalctl -u docker -u containerd
```
+=== "Plugins"
+
+ Docker offers plugins on its website (e.g. [Docker Plugins amd64 stable](https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/){: class="nospellcheck"}), some of them are not installed by the Docker installation by default resp. are no install option from `dietpi-software` (like the Docker Compose plugin is one).
+ These additional plugins can be installed by the user as described below.
+
+ [Docker Buildx](https://docs.docker.com/build/architecture/){: class="nospellcheck"} CLI plugin:
+
+ ```sh
+ apt install docker-buildx-plugin
+ ```
+
+ [Docker vulnerability scan](https://docs.docker.com/docker-hub/vulnerability-scanning/) CLI plugin:
+
+ ```sh
+ apt install docker-scan-plugin
+ ```
+
+ For [running container rootless](https://docs.docker.com/engine/security/rootless/):
+
+ ```sh
+ apt install docker-ce-rootless-extras
+ ```
+
+=== "Speed up image creation with a tmpfs"
+
+ Docker downloads image file chunks to `/mnt/dietpi_userdata/docker-data/tmp` when generating a Docker image. After this, the file chunks are deleted as they are only temporary files.
+ In case of a slower disk (e.g. SD Card) this takes a longer time due to the SD Card reading/writing speed. To speedup the image generation, a tmpfs file system can be used.
+ A drawback of using a tmpfs is the required RAM, i.e. enough RAM memory (e.g. > 2 GB) should be present for the tmpfs.
+
+ The tmpfs file system can be added manually via the file `/etc/fstab` by entering a line (e.g. in the `TMPFS` area) like:
+
+ ```
+ tmpfs /mnt/dietpi_userdata/docker-data/tmp tmpfs size=2G,noatime,lazytime,nodev,nosuid
+ ```
+
+ The `size=` option should be adjusted to the systems RAM size: Only a part of the total RAM size should be used to avoid low memory issues.
+ After changing the file `/etc/fstab` the tmpfs needs to be activated. This can be done via a file system remount via
+
+ ```sh
+ mount -o remount /mnt/dietpi_userdata/docker-data/tmp
+ ```
+
+ or a system reboot.
+
***
Official documentation:
diff --git a/docs/software/webserver_stack.md b/docs/software/webserver_stack.md
index a86cf968e..d8f0ebb5d 100644
--- a/docs/software/webserver_stack.md
+++ b/docs/software/webserver_stack.md
@@ -454,7 +454,7 @@ The innovation of Nginx compared to earlier servers such as Apache was to use an
***
-Official documentation:
+Official documentation:
### Lighttpd
@@ -592,7 +592,7 @@ Official documentation:
[^1]: Find out more about the success stories of Nginx on:
[^3]: [Most Widely Deployed and Used Database Engine](https://www.sqlite.org/mostdeployed.html). Retrieved 12 December 2020
-[^4]: [NGINX vs. Apache: Our View of a Decade-Old Question](https://www.nginx.com/blog/nginx-vs-apache-our-view/). Retrieved 12 December 2020
+[^4]: [Apache vs Nginx: Practical Considerations](https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations). Retrieved 30 May 2024
[^5]: . Retrieved 29 May 2021
[^6]: [CORS Errors Mozilla](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors). Retrieved 05 December 2021
|