Breaking Changes: Docker Parity (#698)
* Refactored all the config files for Kavita to be loaded from config/. This will allow docker to just mount one folder and for Update functionality to be trivial. * Cleaned up documentation around new update method. * Updated docker files to support config directory * Removed entrypoint, no longer needed * Update appsettings to point to config directory for logs * Updated message for docker users that are upgrading * Ensure that docker users that have not updated their mount points from upgrade cannot start the server * Code smells * More cleanup * Added entrypoint to fix bind mount issues * Updated README with new folder structure * Fixed build system for new setup * Updated string path if user is docker * Updated the migration flow for docker to work properly and Fixed LogFile configuration updating. * Migrating docker images is now working 100% * Fixed config from bad code * Code cleanup Co-authored-by: Chris Plaatjes <kizaing@gmail.com>
This commit is contained in:
parent
66b79e8cbe
commit
a29b11c366
29 changed files with 670 additions and 438 deletions
130
entrypoint.sh
Executable file → Normal file
130
entrypoint.sh
Executable file → Normal file
|
@ -1,107 +1,31 @@
|
|||
#!/bin/bash
|
||||
#! /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
|
||||
if [ ! -f "/kavita/config/appsettings.json" ]; then
|
||||
echo "Kavita configuration file does not exist, creating..."
|
||||
echo '{
|
||||
"ConnectionStrings": {
|
||||
"DefaultConnection": "Data source=config//kavita.db"
|
||||
},
|
||||
"TokenKey": "super secret unguessable key",
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Information",
|
||||
"Microsoft.Hosting.Lifetime": "Error",
|
||||
"Hangfire": "Information",
|
||||
"Microsoft.AspNetCore.Hosting.Internal.WebHost": "Information"
|
||||
},
|
||||
"File": {
|
||||
"Path": "config//logs/kavita.log",
|
||||
"Append": "True",
|
||||
"FileSizeLimitBytes": 26214400,
|
||||
"MaxRollingFiles": 2
|
||||
}
|
||||
},
|
||||
"Port": 5000
|
||||
}' >> /kavita/config/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
|
||||
chmod +x Kavita
|
||||
|
||||
#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
|
||||
./Kavita
|
Loading…
Add table
Add a link
Reference in a new issue