Kavita/entrypoint.sh
Joseph Milazzo d5d03528d4
Regression Fix (#680)
* Ensure we mount the backups directory for Docker users

* Fixed a huge logic bug that deleted files in users libraries
2021-10-16 11:24:30 -07:00

107 lines
2.1 KiB
Bash
Executable file

#!/bin/bash
#Checks if a token has been set, and then generates a new token if not
if grep -q 'super secret unguessable key' /kavita/appsettings.json
then
export TOKEN_KEY="$(pwgen -s 16 1)"
sed -i "s/super secret unguessable key/${TOKEN_KEY}/g" /kavita/appsettings.json
fi
#Checks if the appsettings.json already exists in bind mount
if test -f "/kavita/data/appsettings.json"
then
rm /kavita/appsettings.json
ln -s /kavita/data/appsettings.json /kavita/
else
mv /kavita/appsettings.json /kavita/data/ || true
ln -s /kavita/data/appsettings.json /kavita/
fi
#Checks if the data folders exist
if [ -d /kavita/data/temp ]
then
if [ -d /kavita/temp ]
then
unlink /kavita/temp
ln -s /kavita/data/temp /kavita/temp
else
ln -s /kavita/data/temp /kavita/temp
fi
else
mkdir /kavita/data/temp
ln -s /kavita/data/temp /kavita/temp
fi
if [ -d /kavita/data/cache ]
then
if [ -d /kavita/cache ]
then
unlink /kavita/cache
ln -s /kavita/data/cache /kavita/cache
else
ln -s /kavita/data/cache /kavita/cache
fi
else
mkdir /kavita/data/cache
ln -s /kavita/data/cache /kavita/cache
fi
if [ -d /kavita/data/logs ]
then
if [ -d /kavita/logs ]
then
unlink /kavita/logs
ln -s /kavita/data/logs /kavita/logs
else
ln -s /kavita/data/logs /kavita/logs
fi
else
mkdir /kavita/data/logs
ln -s /kavita/data/logs /kavita/logs
fi
if [ -d /kavita/data/backups ]
then
if [ -d /kavita/backups ]
then
unlink /kavita/backups
ln -s /kavita/data/backups /kavita/backups
else
ln -s /kavita/data/backups /kavita/backups
fi
else
mkdir /kavita/data/backups
ln -s /kavita/data/backups /kavita/backups
fi
if [ -d /kavita/data/stats ]
then
if [ -d /kavita/stats ]
then
unlink /kavita/stats
ln -s /kavita/data/stats /kavita/stats
else
ln -s /kavita/data/stats /kavita/stats
fi
else
mkdir /kavita/data/stats
ln -s /kavita/data/stats /kavita/stats
fi
if [ -d /kavita/data/covers ]
then
if [ -d /kavita/covers ]
then
unlink /kavita/covers
ln -s /kavita/data/covers /kavita/covers
else
ln -s /kavita/data/covers /kavita/covers
fi
else
mkdir /kavita/data/covers
ln -s /kavita/data/covers /kavita/covers
fi
chmod +x ./Kavita
./Kavita