Files
docker-mods-uptime-kuma-tim…/package-install.v1
T

69 lines
2.8 KiB
Plaintext
Executable File

#!/usr/bin/with-contenv bash
# shellcheck shell=bash
if [[ -f "/mod-pip-packages-to-install.list" ]]; then
IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)"
if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then
if ! command -v python3; then
CREATE_VENV="true"
if [[ -f /usr/bin/apt ]]; then
echo "python3-venv" >> /mod-repo-packages-to-install.list
elif [[ -f /sbin/apk ]]; then
echo "python3" >> /mod-repo-packages-to-install.list
elif [[ -f /usr/sbin/pacman ]]; then
echo "python" >> /mod-repo-packages-to-install.list
elif [[ -f /usr/bin/dnf ]]; then
echo "python3" >> /mod-repo-packages-to-install.list
fi
fi
fi
fi
if [[ -f "/mod-repo-packages-to-install.list" ]]; then
IFS=' ' read -ra REPO_PACKAGES <<< "$(tr '\n' ' ' < /mod-repo-packages-to-install.list)"
if [[ ${#REPO_PACKAGES[@]} -ne 0 ]] && [[ ${REPO_PACKAGES[*]} != "" ]]; then
echo "[mod-init] **** Installing all mod packages ****"
if [[ -f /usr/bin/apt ]]; then
export DEBIAN_FRONTEND="noninteractive"
apt-get update
apt-get install -y --no-install-recommends \
"${REPO_PACKAGES[@]}"
elif [[ -f /sbin/apk ]]; then
apk add --no-cache \
"${REPO_PACKAGES[@]}"
elif [[ -f /usr/sbin/pacman ]]; then
pacman -Sy --noconfirm \
"${REPO_PACKAGES[@]}"
elif [[ -f /usr/bin/dnf ]]; then
dnf install -y --setopt=install_weak_deps=False --best \
"${REPO_PACKAGES[@]}"
fi
fi
fi
if [[ -f "/mod-pip-packages-to-install.list" ]]; then
IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)"
if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then
echo "[mod-init] **** Installing all pip packages ****"
if [[ ${CREATE_VENV} == "true" ]]; then
echo "**** Creating venv ****"
python3 -m venv /lsiopy
fi
python3 -m pip install -U pip wheel setuptools
PIP_ARGS=()
if [[ -f /usr/bin/apt ]] && grep -q 'ID=ubuntu' /etc/os-release; then
PIP_ARGS+=("-f" "https://wheel-index.linuxserver.io/ubuntu/")
elif [[ -f /sbin/apk ]]; then
ALPINE_VER=$(grep main /etc/apk/repositories | sed 's|.*alpine/v||' | sed 's|/main.*||')
PIP_ARGS+=("-f" "https://wheel-index.linuxserver.io/alpine-${ALPINE_VER}/")
fi
python3 -m pip install \
"${PIP_ARGS[@]}" \
"${PIP_PACKAGES[@]}"
fi
fi
rm -rf \
/mod-repo-packages-to-install.list \
/mod-pip-packages-to-install.list