Merge branch 'develop' into feature/custom-tf-model-127

This commit is contained in:
raystlin
2025-07-25 21:22:28 +00:00
475 changed files with 45088 additions and 27486 deletions

View File

@@ -44,7 +44,7 @@ install-intel-graphics: intel
intel-graphics: intel
install-intel:
@echo "Installing Intel GPU Drivers..."
apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2
apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2 libvpl2
amd: update install-amd
install-amd:
@echo "Installing AMD VA-API GPU Drivers..."
@@ -61,6 +61,9 @@ darktable:
sudo apt-get update
sudo apt-get install darktable
sudo apt-get autoremove
yt-dlp: update-yt-dlp
update-yt-dlp:
sudo yt-dlp -U
# Declare all targets as "PHONY", see https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html.
MAKEFLAGS += --always-make

View File

@@ -56,11 +56,11 @@ mkdir -p "$DESTDIR"
ARCHIVE="${CURRENT_DIR}/build/$BUILD.tar.gz"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION: $LIBHEIF_VERSION"
echo "LATEST : $LATEST"
echo "ARCHIVE: $ARCHIVE"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "Installing build dependencies..."

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash
if [[ -z $1 ]] && [[ -z $2 ]]; then
echo "Usage: heif-convert <filename> <output>" 1>&2
echo "Usage: ${0##*/} <filename> <output>" 1>&2
exit 1
fi

View File

@@ -18,14 +18,17 @@ then
exit 1
fi
echo "Installing duf, a better df alternative..."
echo "Installing the duf command to check storage usage..."
GOBIN="/usr/local/bin" go install github.com/muesli/duf@latest
echo "Installing muffet, a fast website link checker..."
echo "Installing muffet, a tool for checking links..."
GOBIN="/usr/local/bin" go install github.com/raviqqe/muffet@latest
echo "Installing petname, an RFC1178 implementation to generate pronounceable names..."
echo "Installing petname to generate pronounceable names..."
GOBIN="/usr/local/bin" go install github.com/dustinkirkland/golang-petname/cmd/petname@latest
echo "Installing doctl for using the DigitalOcean API...."
GOBIN="/usr/local/bin" go install github.com/digitalocean/doctl/cmd/doctl@latest
# Create a symbolic link for "duf" so that it is used instead of the original "df".
ln -sf /usr/local/bin/duf /usr/local/bin/df

View File

@@ -28,12 +28,7 @@ echo "Installing Darktable for ${DESTARCH^^}..."
case $DESTARCH in
amd64 | AMD64 | x86_64 | x86-64)
if [[ $VERSION_CODENAME == "jammy" ]]; then
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_22.04/ /' | tee /etc/apt/sources.list.d/graphics:darktable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_22.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/graphics_darktable.gpg > /dev/null
apt-get update
apt-get -qq install darktable
elif [[ $VERSION_CODENAME == "bullseye" ]]; then
if [[ $VERSION_CODENAME == "bullseye" ]]; then
apt-get update
apt-get -qq install -t bullseye-backports darktable
elif [[ $VERSION_CODENAME == "buster" ]]; then

View File

@@ -64,11 +64,11 @@ else
DESTDIR="${DESTDIR}/bin"
fi
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION: $FFMPEG_VERSION"
echo "ARCHIVE: $ARCHIVE"
echo "DESTDIR: $DESTDIR"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "Extracting \"$URL\" to \"$DESTDIR\"."
sudo mkdir -p "${DESTDIR}"

View File

@@ -51,7 +51,7 @@ for t in ${GPU_DETECTED[@]}; do
case $t in
i915 | i965 | intel | opencl | icd)
echo "Installing Intel GPU Drivers..."
apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2
apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2 libvpl2
;;
nvidia)

View File

@@ -34,10 +34,10 @@ case $DESTARCH in
URL="https://github.com/libjxl/libjxl/releases/download/${LIB_VERSION}/${ARCHIVE}"
TMPDIR="/tmp/jpegxl"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION: $LIB_VERSION"
echo "ARCHIVE: $ARCHIVE"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "Installing JPEG XL for ${DESTARCH^^}..."

View File

@@ -67,11 +67,11 @@ echo "Installing libheif..."
ARCHIVE="libheif-${VERSION_CODENAME}-${DESTARCH}-${LIBHEIF_VERSION}.tar.gz"
URL="https://dl.photoprism.app/dist/libheif/${ARCHIVE}"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION: $LIBHEIF_VERSION"
echo "ARCHIVE: $ARCHIVE"
echo "DESTDIR: $DESTDIR"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
if curl -fsSL "$URL" | tar --overwrite --mode=755 -xz -C "$DESTDIR" 2> /dev/null; then
echo "✅ Extracted \"$URL\" to \"$DESTDIR\""

View File

@@ -58,12 +58,12 @@ VERSION=${2:-$GITHUB_LATEST}
ARCHIVE="nats-server-${VERSION}-linux-${DESTARCH}.tar.gz"
GITHUB_URL="https://github.com/nats-io/nats-server/releases/download/${VERSION}/${ARCHIVE}"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION : ${VERSION}"
echo "LATEST : ${GITHUB_LATEST}"
echo "DOWNLOAD: ${GITHUB_URL}"
echo "DESTDIR : ${DESTDIR}"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
# Adjust the installation path because the archive does not contain a bin directory.
DESTDIR="${DESTDIR}/bin"

View File

@@ -42,16 +42,16 @@ fi
echo "Configuring NPM..."
sudo npm config set cache ~/.cache/npm
echo "Updating NPM..."
sudo npm update --unsafe-perm=true --allow-root -g npm
sudo npm update -g npm
echo "Installing TestCafe..."
sudo npm install --unsafe-perm=true --allow-root -g \
npm@latest npm-check-updates@latest license-report@latest n@latest testcafe@3.7.2
sudo npm install -g npm@latest npm-check-updates@latest license-report@latest n@latest testcafe@3.7.2
echo "Installing Vitest..."
sudo npm install -g vitest @vitest/browser @vitest/coverage-v8 @vitest/ui
echo "Installing ESLint..."
sudo npm install --unsafe-perm=true --allow-root -g \
eslint globals @eslint/eslintrc @eslint/js eslint-config-prettier eslint-formatter-pretty \
sudo npm install -g eslint prettier globals \
@eslint/eslintrc @eslint/js eslint-config-prettier eslint-formatter-pretty \
eslint-plugin-html eslint-plugin-import eslint-plugin-node eslint-plugin-prettier \
eslint-plugin-promise eslint-plugin-vue eslint-webpack-plugin prettier
echo "Installing Vue Language Tools..."
sudo npm install --unsafe-perm=true --allow-root -g \
@vue/language-server @vue/typescript-plugin
eslint-plugin-vue eslint-plugin-vuetify eslint-webpack-plugin
echo "Installing Vue Language Server..."
sudo npm install -g @vue/language-server
echo "Done."

View File

@@ -54,12 +54,12 @@ VERSION=${2:-$GITHUB_LATEST}
ARCHIVE="qdrant-${DESTARCH}-unknown-linux-musl.tar.gz"
GITHUB_URL="https://github.com/qdrant/qdrant/releases/download/${VERSION}/${ARCHIVE}"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION : ${VERSION}"
echo "LATEST : ${GITHUB_LATEST}"
echo "DOWNLOAD: ${GITHUB_URL}"
echo "DESTDIR : ${DESTDIR}"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
# Adjust the installation path because the archive does not contain a bin directory.
DESTDIR="${DESTDIR}/bin"

View File

@@ -65,13 +65,13 @@ S6_BINARY_URL="https://github.com/just-containers/s6-overlay/releases/download/$
echo "Installing S6 Overlay for ${S6_OVERLAY_ARCH^^}..."
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION: ${S6_OVERLAY_VERSION}"
echo "LATEST : ${S6_OVERLAY_LATEST}"
echo "NOARCH : ${ARCHIVE_NOARCH}"
echo "BINARY : ${ARCHIVE_BINARY}"
echo "DESTDIR: ${S6_OVERLAY_DESTDIR}"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
# Create the destination directory if it does not already exist.
mkdir -p "${S6_OVERLAY_DESTDIR}"

View File

@@ -64,13 +64,13 @@ fi
GITHUB_URL="https://github.com/yt-dlp/yt-dlp/releases/download/${VERSION}/${BINARY}"
DESTBIN="${DESTDIR}/bin/yt-dlp"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "VERSION : ${VERSION}"
echo "LATEST : ${GITHUB_LATEST}"
echo "DOWNLOAD: ${GITHUB_URL}"
echo "DESTDIR : ${DESTDIR}"
echo "DESTBIN : ${DESTBIN}"
echo "------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "Downloading the yt-dlp binary to \"${DESTBIN}\"..."
mkdir -p "${DESTDIR}"

View File

@@ -0,0 +1,88 @@
#!/usr/bin/env bash
# Builds a PhotoPrismPi SD card image for use with Raspberry Pi 4 and 5.
# Stop the script if an error occurs.
set -e
echo "Building PhotoPrismPi SD card image..."
# Build directory:
DESTDIR=$(realpath "${1:-./setup/nas/raspberry-pi}")
# Ubuntu Server version and download URL:
UBUNTU_VERSION="${2:-24.04.2}"
UBUNTU_URL="https://cdimage.ubuntu.com/releases/${UBUNTU_VERSION}/release/ubuntu-${UBUNTU_VERSION}-preinstalled-server-arm64+raspi.img.xz"
# SD card image file name and path:
IMAGE_NAME="photoprismpi-ubuntu-${UBUNTU_VERSION}.img"
IMAGE_PATH="${DESTDIR}/${IMAGE_NAME}"
# Cloud init config path:
CONFIG_PATH="${DESTDIR}/cloud-init"
# Boot partition mount path:
MOUNT_DEV="/dev/nbd0"
MOUNT_PATH="${DESTDIR}/boot"
# Show image and build details.
echo "--------------------------------------------------------------------------------"
echo "VERSION: Ubuntu Server ${UBUNTU_VERSION} for Raspberry Pi"
echo "CDIMAGE: ${UBUNTU_URL}"
echo "DESTDIR: ${DESTDIR}"
echo "SDIMAGE: ${IMAGE_PATH}.xz"
echo "--------------------------------------------------------------------------------"
# Install build dependencies.
sudo apt update
sudo apt install -y qemu-utils xz-utils cloud-init
# Remove existing Ubuntu Server image, if any.
rm -f "${IMAGE_PATH}" "${IMAGE_PATH}.xz"
# Download latest Ubuntu Server image.
echo "Downloading Ubuntu Server image..."
curl -o "${IMAGE_PATH}.xz" -fsSL "${UBUNTU_URL}"
echo "Done."
# Unpack Ubuntu Server image.
echo "Unpacking ${IMAGE_NAME}.xz..."
(cd "${DESTDIR}" && unxz "${IMAGE_NAME}.xz")
echo "Done."
# Mount the boot partition to customize it.
echo "Mounting boot partition to ${MOUNT_PATH}..."
mkdir -p "${MOUNT_PATH}"
sudo umount -q "${MOUNT_PATH}" || true
if [[ -e "${MOUNT_DEV}p1" ]]; then
sudo qemu-nbd --disconnect "${MOUNT_DEV}" || true
fi
sleep 1
sudo modprobe nbd max_part=8
sudo qemu-nbd --connect="${MOUNT_DEV}" --format=raw "${IMAGE_PATH}"
sleep 3
sudo mount "${MOUNT_DEV}p1" "${MOUNT_PATH}"
echo "Done."
# Copy cloud-init files to the boot partition.
echo "Copying files to boot partition..."
sudo cp "${CONFIG_PATH}/meta-data" "${CONFIG_PATH}/network-config" "${CONFIG_PATH}/user-data" "${MOUNT_PATH}"
echo "Done."
# Unmount boot partition.
echo "Unmounting boot partition..."
sudo umount "${MOUNT_PATH}"
sleep 1
if [[ -e "${MOUNT_DEV}p1" ]]; then
sudo qemu-nbd --disconnect "${MOUNT_DEV}"
fi
sleep 1
rmdir "${MOUNT_PATH}"
echo "Done."
# Create the final SD card image.
echo "Creating ${IMAGE_PATH}.xz..."
xz -T0 -z -q -9 "${IMAGE_PATH}"
echo "Done."