mirror of
https://github.com/wallabag/docker.git
synced 2025-12-22 03:38:32 +01:00
Fix SQLite provisioning
If we use a local folder volume binding, install_wallabag was failing because of missing file and permission issues. This reworks the way we initially create the database when it is missing or empty. Superseeds #386 Fixes #316 #346 Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
This commit is contained in:
@ -23,6 +23,8 @@ install_wallabag() {
|
|||||||
provisioner() {
|
provisioner() {
|
||||||
SYMFONY__ENV__DATABASE_DRIVER=${SYMFONY__ENV__DATABASE_DRIVER:-pdo_sqlite}
|
SYMFONY__ENV__DATABASE_DRIVER=${SYMFONY__ENV__DATABASE_DRIVER:-pdo_sqlite}
|
||||||
POPULATE_DATABASE=${POPULATE_DATABASE:-True}
|
POPULATE_DATABASE=${POPULATE_DATABASE:-True}
|
||||||
|
SQLITE_DB_DIR="/var/www/wallabag/data/db"
|
||||||
|
SQLITE_DB_FILEPATH="$SQLITE_DB_DIR/wallabag.sqlite"
|
||||||
|
|
||||||
# Replace environment variables
|
# Replace environment variables
|
||||||
envsubst < /etc/wallabag/parameters.template.yml > app/config/parameters.yml
|
envsubst < /etc/wallabag/parameters.template.yml > app/config/parameters.yml
|
||||||
@ -33,10 +35,17 @@ provisioner() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Configure SQLite database
|
# Configure SQLite database
|
||||||
SQLITE_FILE_SIZE=$(wc -c "/var/www/wallabag/data/db/wallabag.sqlite" | awk '{print $1}')
|
if [ "$SYMFONY__ENV__DATABASE_DRIVER" = "pdo_sqlite" ]; then
|
||||||
if [ "$SYMFONY__ENV__DATABASE_DRIVER" = "pdo_sqlite" ] && ([ ! -f "/var/www/wallabag/data/db/wallabag.sqlite" ] || [ "$SQLITE_FILE_SIZE" = 0 ]) ; then
|
# mkdir and chown are mandatory for local folder binding
|
||||||
echo "Configuring the SQLite database ..."
|
if [ ! -f "$SQLITE_DB_FILEPATH" ]; then
|
||||||
install_wallabag
|
mkdir -p "$SQLITE_DB_DIR"
|
||||||
|
chown nobody: "$SQLITE_DB_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -s "$SQLITE_DB_FILEPATH" ]; then
|
||||||
|
echo "Configuring the SQLite database ..."
|
||||||
|
install_wallabag
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Configure MySQL / MariaDB database
|
# Configure MySQL / MariaDB database
|
||||||
|
|||||||
Reference in New Issue
Block a user