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