61 lines
1.9 KiB
Bash
61 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
echo ~~~ ydl_api_ng
|
|
echo ~~~ Revision : $GIT_BRANCH - $GIT_REVISION
|
|
echo ~~~ Docker image generated : $DATE
|
|
|
|
mkdir -p /app/logs /app/downloads /app/params /app/tmp /app/data /root/yt-dlp-plugins /app/cookies/ /home/ydl_api_ng
|
|
|
|
getent group $GID >/dev/null
|
|
if [ ! $? -eq 0 ]; then
|
|
addgroup --gid $GID ydl_api_ng
|
|
fi
|
|
|
|
getent passwd $UID >/dev/null
|
|
if [ ! $? -eq 0 ]; then
|
|
useradd --uid $UID --gid $GID ydl_api_ng -b /home/ydl_api_ng
|
|
fi
|
|
|
|
# If params.ini exists, assume setup has been run. Don't copy extra files the user may have removed.
|
|
if [ ! -e '/app/params/params.ini' ]; then
|
|
cp -n /app/setup/params.ini /app/params/
|
|
fi
|
|
|
|
if [ ! -e /app/data/database.json ]; then
|
|
touch /app/data/database.json
|
|
fi
|
|
|
|
if [ "$FORCE_YTDLP_VERSION" == "" ]; then
|
|
echo --- Upgrade yt-dlp to the latest version ---
|
|
pip3 install yt-dlp yt-dlp-ejs --upgrade --disable-pip-version-check -q --root-user-action=ignore
|
|
else
|
|
echo --- Force yt-dlp version $FORCE_YTDLP_VERSION ---
|
|
pip3 install --disable-pip-version-check -q --root-user-action=ignore yt-dlp==$FORCE_YTDLP_VERSION yt-dlp-ejs --force-reinstall
|
|
fi
|
|
|
|
echo --- Installing hooks requirements ---
|
|
if [ -e /app/params/hooks_requirements ]; then
|
|
pip3 install --disable-pip-version-check -q --root-user-action=ignore -r /app/params/hooks_requirements
|
|
else
|
|
pip3 install --disable-pip-version-check -q --root-user-action=ignore -r /app/setup/hooks_requirements
|
|
fi
|
|
|
|
chown -R $UID:$GID /app
|
|
chown $UID:$GID /home/ydl_api_ng /root/yt-dlp-plugins
|
|
chmod a+x /root/ entrypoint.sh
|
|
|
|
if [ "$DISABLE_REDIS" == "false" ]; then
|
|
if [ -e /app/params/workers.ini ]; then
|
|
supervisord -c /app/params/workers.ini
|
|
else
|
|
supervisord -c /app/setup/workers.ini
|
|
fi
|
|
fi
|
|
|
|
if [ "$DEBUG" == "DEBUG" ]; then
|
|
echo ~~~ Launching DEBUG mode ~~~
|
|
su "$(id -un $UID)" -c "uvicorn main:app --reload --port 80 --host 0.0.0.0"
|
|
else
|
|
su "$(id -un $UID)" -c "python3 main.py"
|
|
fi
|