From fee5d456b0abc48a984d3558cb06a7338a041f21 Mon Sep 17 00:00:00 2001 From: StephanStS Date: Tue, 28 May 2024 18:06:37 +0200 Subject: [PATCH 1/5] Typo (#1003) * Typo * Address link check issues: The 1.5G variant for Orange Pi Zero 3 is not needed anymore and has been removed. Patreon does now always throw a 403 when checked via lychee. * Update PaperMC docs link Co-authored-by: MichaIng --- .github/workflows/main.yml | 2 +- docs/hardware.md | 6 ------ docs/software/camera.md | 2 +- docs/software/gaming.md | 2 +- 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 76f38f078..6b2f9a5f2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,4 +77,4 @@ jobs: 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' + ./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/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 From c822578e8f83ae85ad1d8698fc2063d732941055 Mon Sep 17 00:00:00 2001 From: saxc Date: Tue, 28 May 2024 18:07:24 +0200 Subject: [PATCH 2/5] Update Proxmox kernel selection (#1002) --- docs/install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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**. From 6c3a507a5fc93f1609e1f83d600fbff3c205db1e Mon Sep 17 00:00:00 2001 From: StephanStS Date: Thu, 30 May 2024 22:07:58 +0200 Subject: [PATCH 3/5] Description of making docker-data/tmp a tmpfs (#1005) --- docs/software/programming.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/software/programming.md b/docs/software/programming.md index 78041443d..e9285a0bd 100644 --- a/docs/software/programming.md +++ b/docs/software/programming.md @@ -206,6 +206,27 @@ _Source: [User:`Maklaan` - Based on a Docker blog post](https://commons.wikimedi journalctl -u docker -u containerd ``` +=== "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: From 82f0b3b429c57946c6fae65d350cf824a8f51742 Mon Sep 17 00:00:00 2001 From: StephanStS Date: Thu, 30 May 2024 23:47:22 +0200 Subject: [PATCH 4/5] Docker: Add short info about other available plugins (#1004) --- docs/software/programming.md | 23 +++++++++++++++++++++++ docs/software/webserver_stack.md | 4 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/docs/software/programming.md b/docs/software/programming.md index e9285a0bd..f34d570f9 100644 --- a/docs/software/programming.md +++ b/docs/software/programming.md @@ -206,6 +206,29 @@ _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. 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 From fed51130d68fad54fc4f952b0aeff45c07c36362 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Sat, 1 Jun 2024 16:06:47 +0200 Subject: [PATCH 5/5] ci: update and simplification (#1007) - use strict permissions: only content read is required for repo checkout - run on Ubuntu Noble - skip bourne shell and tmpfs, with questionable performance benefit - remove GitHub actions' release URL comments, as those are updated automatically by dependabot - update Python version to match dietpi.com server - use `<(command)` substitution syntax to simplify calls --- .github/workflows/main.yml | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6b2f9a5f2..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_ + 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'