mirror of
https://github.com/TrezOne/docker-mods-uptime-kuma-timeout-fix.git
synced 2026-06-17 13:52:56 -04:00
71 lines
3.0 KiB
Plaintext
Executable File
71 lines
3.0 KiB
Plaintext
Executable File
#!/usr/bin/with-contenv bash
|
|
|
|
# Determine if setup is needed
|
|
if [ -d /dotnet ]; then
|
|
ARCH=$(uname -m)
|
|
if [[ "${ARCH}" = "armv7l" ]]; then
|
|
echo "**** The dotnet mod no longer supports arm32v7/armhf images, exiting ****"
|
|
exit 0
|
|
fi
|
|
# install deps
|
|
echo "**** Adding dotnet dependencies to package install list ****"
|
|
source /etc/lsb-release
|
|
if [ "${DISTRIB_CODENAME}" == "focal" ]; then
|
|
echo "libicu66" >> /mod-repo-packages-to-install.list
|
|
elif [ "${DISTRIB_CODENAME}" == "jammy" ]; then
|
|
echo "libicu70" >> /mod-repo-packages-to-install.list
|
|
elif [ "${DISTRIB_CODENAME}" == "noble" ]; then
|
|
echo "libicu74" >> /mod-repo-packages-to-install.list
|
|
fi
|
|
# remove existing install if updating
|
|
if ls -d /dotnet_* >/dev/null 2>&1; then
|
|
echo "deleting" $(ls -d /dotnet_*)
|
|
rm -rf /dotnet_*
|
|
fi
|
|
DOTNET_VERSIONS=$(cat /dotnet/versions.txt)
|
|
for i in $DOTNET_VERSIONS; do
|
|
mkdir -p "/dotnet_${i}"
|
|
tar xzf "/dotnet/dotnetsdk_${i}.tar.gz" -C "/dotnet_${i}"
|
|
done
|
|
rm -rf /dotnet
|
|
# symlink latest dotnet binary
|
|
DOTNET_LATEST=$(echo "$DOTNET_VERSIONS" | awk '{print $1}')
|
|
rm -rf /usr/local/bin/dotnet
|
|
ln -s /dotnet_${DOTNET_LATEST}/dotnet /usr/local/bin/dotnet
|
|
echo "
|
|
****************************************************
|
|
****************************************************
|
|
**
|
|
**
|
|
DOTNET SDK versions installed:
|
|
$(echo $DOTNET_VERSIONS | sed 's| |\n |g')
|
|
**
|
|
**
|
|
Binary locations are:"
|
|
for i in $DOTNET_VERSIONS; do
|
|
echo " /dotnet_${i}/dotnet"
|
|
done
|
|
echo " **
|
|
**
|
|
Version $DOTNET_LATEST is symlinked from /usr/local/bin/dotnet and can be called from anywhere via \"dotnet\"
|
|
**
|
|
**
|
|
****************************************************
|
|
****************************************************"
|
|
# symlink other dotnet installs for access through latest binary
|
|
for i in {2..5}; do
|
|
DOTNET_OTHER_SDK_VERSION="$(echo $DOTNET_VERSIONS | awk -v var=${i} '{print $var}')"
|
|
if [ -n "$DOTNET_OTHER_SDK_VERSION" ]; then
|
|
DOTNET_OTHER_RUNTIME_VERSION="$(ls /dotnet_${DOTNET_OTHER_SDK_VERSION}/shared/Microsoft.NETCore.App)"
|
|
echo "**** Symlinking sdk version ${DOTNET_OTHER_SDK_VERSION} and runtime version ${DOTNET_OTHER_RUNTIME_VERSION} ****"
|
|
ln -s "/dotnet_${DOTNET_OTHER_SDK_VERSION}/shared/Microsoft.NETCore.App/${DOTNET_OTHER_RUNTIME_VERSION}" "/dotnet_${DOTNET_LATEST}/shared/Microsoft.NETCore.App/${DOTNET_OTHER_RUNTIME_VERSION}"
|
|
ln -s "/dotnet_${DOTNET_OTHER_SDK_VERSION}/shared/Microsoft.AspNetCore.App/${DOTNET_OTHER_RUNTIME_VERSION}" "/dotnet_${DOTNET_LATEST}/shared/Microsoft.AspNetCore.App/${DOTNET_OTHER_RUNTIME_VERSION}"
|
|
ln -s "/dotnet_${DOTNET_OTHER_SDK_VERSION}/sdk/${DOTNET_OTHER_SDK_VERSION}" "/dotnet_${DOTNET_LATEST}/sdk/${DOTNET_OTHER_SDK_VERSION}"
|
|
else
|
|
break
|
|
fi
|
|
done
|
|
else
|
|
echo "**** Existing dotnet install is up to date, skipping ****"
|
|
fi
|