Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta v8.22.2 #6630

Merged
merged 20 commits into from
Sep 21, 2023
13 changes: 4 additions & 9 deletions .build/images/dietpi-build
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,8 @@ fi
(( $efi_size )) || [[ $boot_size -gt 0 && $boot_fstype == 'fat'* ]] && apackages+=('dosfstools')

# Emulation support in case of incompatible architecture
(( ( $G_HW_ARCH < 10 && $G_HW_ARCH < $HW_ARCH ) || ( ( $G_HW_ARCH == 10 || $G_HW_ARCH == 11 ) && $G_HW_ARCH != $HW_ARCH ) )) && apackages+=('qemu-user-static' 'binfmt-support')
# - TEMPORARY: Early exit for Trixie/Sid until systemd + QEMU incompatibility fix has been released: https://github.com/systemd/systemd/pull/28954
(( ( $G_HW_ARCH < 10 && $G_HW_ARCH < $HW_ARCH ) || ( ( $G_HW_ARCH == 10 || $G_HW_ARCH == 11 ) && $G_HW_ARCH != $HW_ARCH ) )) && { apackages+=('qemu-user-static' 'binfmt-support'); (( $DISTRO == 8 )) && { G_DIETPI-NOTIFY 1 'systemd on Trixie/Sid does currently not support QEMU emulation, aborting ...'; exit 0; } }

# Virtual machine disk conversion
[[ $VMTYPE && $VMTYPE != 'raw' ]] && apackages+=('qemu-utils')
Expand Down Expand Up @@ -725,8 +726,7 @@ ethernet0.present = "TRUE"
extendedConfigFile = "$image_name.vmxf"
floppy0.present = "FALSE"
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating VMware tar.xz archive' XZ_OPT="-e9 ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.vmdk" "$image_name.vmx"
G_EXEC_DESC='Creating VMware tar.xz archive' XZ_OPT="-9e ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.vmdk" "$image_name.vmx"
G_EXEC rm "$image_name.vmdk" "$image_name.vmx"
G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.tar.xz' > '$image_name.tar.xz.sha256'"
signature=()
Expand Down Expand Up @@ -855,7 +855,6 @@ _EOF_
[[ $VMTYPE == 'all' ]] || G_EXEC rm "$image_name.vmdk"
G_EXEC rm "$image_name."{ovf,mf}

[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating ESXi xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$image_name.ova"
G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.ova.xz' > '$image_name.ova.xz.sha256'"
signature=()
Expand Down Expand Up @@ -1007,7 +1006,6 @@ _EOF_
G_EXEC tar -cf "$image_name.ova" "$image_name."{ovf,vmdk,mf}
G_EXEC rm "$image_name."{ovf,vmdk,mf}

[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating VirtualBox xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$image_name.ova"
G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.ova.xz' > '$image_name.ova.xz.sha256'"
signature=()
Expand All @@ -1022,7 +1020,6 @@ then
# Convert raw image to VHDX
G_EXEC qemu-img convert -O vhdx "$OUTPUT_IMG_NAME.img" "$image_name.vhdx"

[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating Hyper-V xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$image_name.vhdx"
G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.vhdx.xz' > '$image_name.vhdx.xz.sha256'"
signature=()
Expand All @@ -1041,7 +1038,6 @@ then
keep=()
[[ $VMTYPE == 'all' ]] && keep=('-k')

[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating Proxmox xz archive' G_EXEC xz -9e "${limit_threads[@]}" "${keep[@]}" "$image_name.qcow2"
G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.qcow2.xz' > '$image_name.qcow2.xz.sha256'"
signature=()
Expand Down Expand Up @@ -1212,8 +1208,7 @@ _EOF_
</dict>
</plist>
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating UTM tar.xz archive' XZ_OPT="-e9 ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.utm"
G_EXEC_DESC='Creating UTM tar.xz archive' XZ_OPT="-9e ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.utm"
G_EXEC rm -R "$image_name.utm"
G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.tar.xz' > '$image_name.tar.xz.sha256'"
signature=()
Expand Down
5 changes: 2 additions & 3 deletions .build/images/dietpi-imager
Original file line number Diff line number Diff line change
Expand Up @@ -724,12 +724,11 @@ _EOF_
(( $SKIP_ARCHIVE )) && exit 0

# Generate xz archive
# NB: LZMA2 ultra compression requires much memory per thread. 1 GiB is not sufficient for >2 threads, hence use "-mmt2" to limit used CPU threads to "2" on 1 GiB devices with more than two cores.
# NB: LZMA2 ultra compression requires much memory per thread. 1 GiB is not sufficient for >2 threads, hence use "-T2" to limit used CPU threads to "2" on 1 GiB devices with more than two cores.
local limit_threads=()
(( $(free -m | mawk '/Mem:/{print $2}') < 1750 && $(nproc) > 2 )) && limit_threads=('-T2')
[[ -f $OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz ]] && G_EXEC rm "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz"
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating final xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT"
G_EXEC_DESC='Creating final xz archive' G_EXEC xz -9e -k "${limit_threads[@]}" "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT"
G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz' > '$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz.sha256'"
local signature=() sig_text=''
[[ $SIGN_PASS ]] && { G_DIETPI-NOTIFY 2 'Signing archive ...'; gpg --batch --pinentry-mode loopback --passphrase "$SIGN_PASS" -b --armor "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz" || exit 1; signature=("$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz.asc") sig_text="\nSignature: $PWD/${signature[*]}"; }
Expand Down
21 changes: 19 additions & 2 deletions .build/images/dietpi-installer
Original file line number Diff line number Diff line change
Expand Up @@ -961,7 +961,8 @@ _EOF_
fi

# Skip creating kernel symlinks and remove existing ones
echo 'do_symlinks=0' > /etc/kernel-img.conf
G_DIETPI-NOTIFY 2 'Preventing obsolete kernel and initramfs symlink generation'
G_EXEC eval 'echo '\''do_symlinks=0'\'' > /etc/kernel-img.conf'
G_EXEC rm -f /{,boot/}{initrd.img,vmlinuz}{,.old}

G_AGI "${apackages[@]}"
Expand All @@ -985,7 +986,7 @@ Pin: origin apt.armbian.com
Pin-Priority: 500
_EOF_
# Bootstrap Armbian repository
G_EXEC eval 'curl -sSfL '\''https://apt.armbian.com/armbian.key'\'' | gpg --dearmor -o /etc/apt/trusted.gpg.d/dietpi-armbian.gpg --yes'
G_EXEC_RETRIES=2 G_EXEC eval 'curl -sSfL '\''https://apt.armbian.com/armbian.key'\'' | gpg --dearmor -o /etc/apt/trusted.gpg.d/dietpi-armbian.gpg --yes'
# Remove obsolete combined keyring
[[ -f '/etc/apt/trusted.gpg' ]] && G_EXEC rm /etc/apt/trusted.gpg
[[ -f '/etc/apt/trusted.gpg~' ]] && G_EXEC rm '/etc/apt/trusted.gpg~'
Expand Down Expand Up @@ -1136,6 +1137,14 @@ _EOF_
G_EXEC rm u-boot
fi

# Skip creating kernel symlinks and remove existing ones
if [[ -L '/vmlinuz' ]]
then
G_DIETPI-NOTIFY 2 'Preventing obsolete kernel and initramfs symlink generation'
G_EXEC eval 'echo '\''do_symlinks=0'\'' > /etc/kernel-img.conf'
G_EXEC rm -f /{initrd.img,vmlinuz}{,.old}
fi

# RPi
elif (( $G_HW_MODEL < 10 ))
then
Expand Down Expand Up @@ -1284,6 +1293,14 @@ _EOF_
G_EXEC rm -Rf /etc/apt/sources.list.d/{,.??,.[^.]}*
G_EXEC eval "echo 'deb https://apt.armbian.com/ $DISTRO_TARGET_NAME main' > /etc/apt/sources.list.d/dietpi-armbian.list"

# Skip creating kernel symlinks and remove existing ones
if [[ -L '/vmlinuz' ]]
then
G_DIETPI-NOTIFY 2 'Preventing obsolete kernel and initramfs symlink generation'
G_EXEC eval 'echo '\''do_symlinks=0'\'' > /etc/kernel-img.conf'
G_EXEC rm -f /{initrd.img,vmlinuz}{,.old}
fi

# Generic kernel + device tree + U-Boot package auto detect + initramfs-tools
elif (( $G_HW_MODEL != 75 ))
then
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/dietpi-software.bash
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ Process_Software()
#208) Moonlight (GUI), "moonlight-qt" command
209) aCOMMANDS[i]='restic version';;
211) aCOMMANDS[i]='hb-service status' aSERVICES[i]='homebridge' aTCP[i]='8581'; (( $arch < 10 )) && aDELAY[i]=30; (( $arch == 3 )) && aDELAY[i]=120;;
212) aSERVICES[i]='kavita' aTCP[i]='2036'; (( $arch < 10 )) && aDELAY[i]=180; (( $arch == 10 )) && aDELAY[i]=30;;
*) :;;
esac
done
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/dietpi-software.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ jobs:
- { arch: riscv64, dist: bullseye }
- { arch: riscv64, dist: bookworm }
- { arch: armv6l, dist: trixie }
# Temporarily prevent Trixie/Sid builds until systemd + QEMU incompatibility fix has been released: https://github.com/systemd/systemd/pull/28954
- { dist: trixie }
fail-fast: false
name: "${{ matrix.arch }} - ${{ matrix.dist }} - ${{ github.event.inputs.soft }}"
runs-on: ubuntu-22.04
Expand Down
1 change: 1 addition & 0 deletions .meta/dietpi-survey_report
Original file line number Diff line number Diff line change
Expand Up @@ -690,6 +690,7 @@ shopt -s extglob
aSOFTWARE_NAME8_22[i]=${aSOFTWARE_NAME8_21[i]}
done
aSOFTWARE_NAME8_22[141]='ADS-B Feeder'
aSOFTWARE_NAME8_22[212]='Kavita'

# Pre-create software counter array so that we can see also software (available in newest version) with 0 installs
for i in "${aSOFTWARE_NAME8_22[@]}"
Expand Down
9 changes: 8 additions & 1 deletion .update/patches
Original file line number Diff line number Diff line change
Expand Up @@ -1412,7 +1412,7 @@ Patch_8_21()
G_EXEC_OUTPUT=1 G_EXEC curl -fo package2.deb 'https://dietpi.com/downloads/binaries/linux-dtb-legacy-rk35xx.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i package1.deb package2.deb
G_EXEC rm package1.deb package2.deb
(( $G_HW_MODEL == 80 )) && G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk3588' /boot/dietpiEnv.txt && G_CONFIG_INJECT 'fdtfile=' 'fdtfile=' /boot/dietpiEnv.txt
(( $G_HW_MODEL == 80 )) && G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk3588' /boot/dietpiEnv.txt && G_EXEC sed -i '/^[[:blank:]]*fdtfile=/d' /boot/dietpiEnv.txt
dpkg-query -s 'linux-image-legacy-rockchip-rk3588' &> /dev/null && G_EXEC apt-mark auto linux-image-legacy-rockchip-rk3588
dpkg-query -s 'linux-dtb-legacy-rockchip-rk3588' &> /dev/null && G_EXEC apt-mark auto linux-dtb-legacy-rockchip-rk3588

Expand Down Expand Up @@ -1486,6 +1486,13 @@ _EOF_
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold package.deb
G_EXEC rm package.deb
fi

# Orange Pi 5: Fix fdtfile entry
if (( $G_HW_MODEL == 80 )) && grep -q '^fdtfile=$' /boot/dietpiEnv.txt
then
G_DIETPI-NOTIFY 2 'Fixing fdtfile entry in dietpiEnv.txt ...'
G_EXEC sed -i '/^fdtfile=$/d' /boot/dietpiEnv.txt
fi
}

# v6.35 => v7 migration
Expand Down
2 changes: 1 addition & 1 deletion .update/version
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Available DietPi version
G_REMOTE_VERSION_CORE=8
G_REMOTE_VERSION_SUB=22
G_REMOTE_VERSION_RC=1
G_REMOTE_VERSION_RC=2
# Minimum DietPi version to allow update
G_MIN_VERSION_CORE=6
G_MIN_VERSION_SUB=14
Expand Down
4 changes: 3 additions & 1 deletion CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ v8.22

New software:
- ADS-B Feeder | Track airplanes using SDRs and feed the data to ADS-B aggregators. Many thanks to @dirkhh for maintaining and implementing this software option: https://github.com/MichaIng/DietPi/pull/6587
- Kavita | This open source comics/mangas/ebooks media server with a built-in web reader has been added to our software catalogue. Many thanks to @drahen for implementing this software option: https://github.com/MichaIng/DietPi/pull/6610

Enhancements:
- Images | DietPi images are now shipped with a trailing FAT partition which contains dietpi.txt and other config files for easier pre-configuration and automation from Windows and macOS hosts. The partition is removed automatically on first boot, after copying all supported config files/scripts. Related CLI flags have been added to our build scripts: "--add-fat-part" for dietpi-imager and "--no-fat-part" for dietpi-build. Many thanks to @dirkhh for implementing this feature: https://github.com/MichaIng/DietPi/pull/6602
Expand All @@ -14,7 +15,8 @@ Enhancements:
- DietPi-Software | Portainer: Enabled for RISC-V as Docker is now supported on RISC-V as well.

Bug fixes:
- NanoPi R4S | Resolved a v8.20 regression where the Ethernet LEDs did not react correctly after the kernel upgrade. Many thanks to @idaanx for reporting this issue: https://github.com/MichaIng/DietPi/issues/6342#issuecomment-1697669420
- NanoPi R4S | Resolved a v8.21 regression where the Ethernet LEDs did not react correctly after the kernel upgrade. Many thanks to @idaanx for reporting this issue: https://github.com/MichaIng/DietPi/issues/6342#issuecomment-1697669420
- Orange Pi 5 | Resolved a v8.21 regression where the update may have lead to an unbootable system or caused other issues like missing HDMI output, because of a falsely set device tree file name.
- Bookworm | Resolved an issue where poweroff/reboot/halt commands did throw errors about missing dbus or logind. DietPi ships without dbus and with logind masked by default, as we do not see their features being used on a typical DietPi system. Instead, dbus is installed and logind unmasked on demand on certain software installs or when chosen via dietpi.txt. However, the newer systemd version since Bookworm attempts dbus > logind communication in any case when calling poweroff/reboot/halt, despite no wall message being sent, e.g. to handle shutdown inhibitors (like open SSH session being able to prevent shutdown), and throws errors if either dbus is not reachable or logind not running. Until in case dbus or logind are further tied into common system commands or features, we solved the issue by creating shell functions for poweroff/reboot/halt which call the respective systemd target directly to bypass logind (and hence dbus), but fall back to the original commands, depending on given command-line parameters.
- dietpi-bookworm-upgrade | Resolved an issue on systems with Armbian repository, where the system was still identified as Bullseye after the distribution upgrade to Bookworm. Reason was Armbian's base-files package, which was not upgraded as intended. On all DietPi systems, the original base-files package from Debian will now be enforced to prevent this and similar issues. Many thanks to @rogerthn2019 for reporting this issue: https://github.com/MichaIng/DietPi/issues/6227#issuecomment-1713688577
- DietPi-Config | The menu option to update the SPI bootloader is now shown on Orange Pi 5 Plus as well, as intended. Many thanks for @zappydood for reporting its absence: https://github.com/MichaIng/DietPi/issues/6501#issuecomment-1697175109
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ Links to hardware and software manufacturers, sources and build instructions use
- [MediaWiki](https://github.com/wikimedia/mediawiki)
- [Homebridge](https://github.com/homebridge/homebridge)
- [ADS-B Feeder](https://github.com/dirkhh/adsb-feeder-image)
- [Kavita](https://github.com/Kareadita/Kavita)

---

Expand Down
4 changes: 2 additions & 2 deletions dietpi/dietpi-config
Original file line number Diff line number Diff line change
Expand Up @@ -968,7 +968,7 @@ Re-enabling HDMI requires a reboot. If you need emergency HDMI output, edit the
local rpi_uart_state='Off'
grep -q '^[[:blank:]]*enable_uart=1' /boot/config.txt && rpi_uart_state='On'

# Nonboard WiFi/BT: "enable_uart" toggles ttyAMA0 (full UART). enabled by default
# No onboard WiFi/BT: "enable_uart" toggles ttyAMA0 (full UART). enabled by default
else

local rpi_uart='ttyAMA0 (full UART)'
Expand Down Expand Up @@ -1250,7 +1250,7 @@ Latest release notes: https://github.com/starfive-tech/VisionFive2/releases

/boot/dietpi/func/dietpi-set_hardware bluetooth $(( ! $bluetooth_state ))
# On RPi, when enabling onboard Bluetooth, a reboot is required to have the device tree changes taking effect.
(( $bluetooth_state || G_HW_MODEL > 9 )) || (( ! $G_HW_ONBOARD_WIFI )) || REBOOT_REQUIRED=1
(( $bluetooth_state || $G_HW_MODEL > 9 )) || (( ! $G_HW_ONBOARD_WIFI )) || REBOOT_REQUIRED=1

elif [[ $G_WHIP_RETURNED_VALUE == 'USB boot support' && $rpi3_usb_boot_bit_enabled == 0 ]] &&
G_WHIP_YESNO 'The following will enable the RPi 3 to boot from USB mass storage devices. A hardware bit "17:3020000a" is set on next boot to enable the feature.
Expand Down
1 change: 1 addition & 0 deletions dietpi/dietpi-services
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ _EOF_
'jellyfin'
'snapclient'
'spotifyd'
'kavita'

# - Download/BitTorrent
'medusa'
Expand Down
83 changes: 83 additions & 0 deletions dietpi/dietpi-software
Original file line number Diff line number Diff line change
Expand Up @@ -613,6 +613,16 @@ Available commands:
aSOFTWARE_DEPS[$software_id]='5 7'
# - RISC-V: No archive: https://github.com/navidrome/navidrome/releases/
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=212
aSOFTWARE_NAME[$software_id]='Kavita'
aSOFTWARE_DESC[$software_id]='open source comics/mangas/ebooks media server with a built-in web reader'
aSOFTWARE_CATX[$software_id]=2
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#kavita'
# - ARMv6: ARM binaries are ARMv7+ Only
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
# - No RISC-V support yet: https://github.com/Kareadita/Kavita/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0

# BitTorrent & Download
#--------------------------------------------------------------------------------
Expand Down Expand Up @@ -6427,6 +6437,73 @@ _EOF_
Download_Test_Media
fi

if To_Install 212 kavita # Kavita
then
# .NET dependency: https://github.com/dotnet/core/blob/main/Documentation/linux-prereqs.md
case $G_DISTRO in
5) aDEPS=('libicu63');;
6) aDEPS=('libicu67');;
*) aDEPS=('libicu72');;
esac

case $G_HW_ARCH in
2) local arch='arm';;
3) local arch='arm64';;
*) local arch='x64';;
esac

local fallback_url="https://github.com/Kareadita/Kavita/releases/download/v0.7.8/kavita-linux-$arch.tar.gz"
Download_Install "$(curl -sSfL 'https://api.github.com/repos/Kareadita/Kavita/releases/latest' | mawk -F\" "/^ *\"browser_download_url\": \".*\/kavita-linux-$arch\.tar\.gz\"$/{print \$4}")"
G_EXEC chmod +x Kavita/Kavita

# Change default port to 2036 to avoid conflict with Shairport Sync
G_CONFIG_INJECT '"Port":' ' "Port": 2036,' Kavita/config/appsettings.json

# Reinstall: Preserve config dir
if [[ -d '/opt/kavita' ]]
then
if [[ -d '/opt/kavita/config' ]]
then
G_EXEC rm -R Kavita/config
G_EXEC mv /opt/kavita/config Kavita/
fi
G_EXEC rm -R /opt/kavita
fi
G_EXEC mv Kavita /opt/kavita

# User
Create_User -g dietpi -d /opt/kavita kavita
G_EXEC chown -R kavita:root /opt/kavita

# Data
G_EXEC mkdir -p /mnt/dietpi_userdata/{ebooks,comics}
G_EXEC chown kavita:dietpi /mnt/dietpi_userdata/{ebooks,comics}
G_EXEC chmod 0775 /mnt/dietpi_userdata/{ebooks,comics}

# Service: https://wiki.kavitareader.com/en/install/linux-install
cat << '_EOF_' > /etc/systemd/system/kavita.service
[Unit]
Description=Kavita Server (DietPi)
Wants=network-online.target
After=network-online.target remote-fs.target
StartLimitIntervalSec=60
StartLimitBurst=5

[Service]
SyslogIdentifier=Kavita
User=kavita
WorkingDirectory=/opt/kavita
ExecStart=/opt/kavita/Kavita
TimeoutStopSec=20
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target
_EOF_
G_DIETPI-NOTIFY 2 'Please wait for a few minutes to let the application starts. By default it runs on port 2036.'
fi

if To_Install 68 # Remote.It
then
case $G_HW_ARCH in
Expand Down Expand Up @@ -13215,6 +13292,12 @@ If no WireGuard (auto)start is included, but you require it, please do the follo
G_EXEC rm -Rf /opt/navidrome /mnt/dietpi_userdata/navidrome
fi

if To_Uninstall 212 # Kavita
then
Remove_Service kavita 1
G_EXEC rm -Rf /opt/Kavita
fi

if To_Uninstall 71 # WebIOPi
then
Remove_Service webiopi
Expand Down
2 changes: 1 addition & 1 deletion dietpi/func/dietpi-banner
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ $GREEN_LINE"

[[ -f '/boot/dietpi/.prep_info' ]] && mawk 'NR==1 {sub(/^0$/,"DietPi Core Team");a=$0} NR==2 {print " Image by : "a" (pre-image: "$0")"}' /boot/dietpi/.prep_info

echo -e " Patreon Legends : Camry2731, Chris Gelatt
echo -e " Patreon Legends : Chris Gelatt, ADSB.im
Website : https://dietpi.com/ | https://twitter.com/DietPi_
Contribute : https://dietpi.com/contribute.html
Web Hosting by : https://myvirtualserver.com$COLOUR_RESET\n"
Expand Down
Loading