-
Stefano Alberto Russo authoredStefano Alberto Russo authored
prestartup_webapp.sh 1.50 KiB
#!/bin/bash
set -e
# Set proper permissions to the log dir
chown rosetta:rosetta /var/log/webapp
# Create and set proper permissions to the data/resources
mkdir -p /data/resources
chown rosetta:rosetta /data/resources
#-----------------------------
# Set migrations data folder
#-----------------------------
if [[ "x$(mount | grep /devmigrations)" == "x" ]] ; then
# If the migrations folder is not mounted (not a Docker volume), use the /data directory via links to use data persistency
MIGRATIONS_DATA_FOLDER="/data/migrations"
# Also if the migrations folder in /data does not exist, create it now
mkdir -p /data/migrations
else
# If the migrations folder is mounted (a Docker volume), use it as we are in dev mode
MIGRATIONS_DATA_FOLDER="/devmigrations"
fi
echo "Persisting migrations in $MIGRATIONS_DATA_FOLDER"
#-----------------------------
# Handle Base App migrations
#-----------------------------
# Remove potential leftovers
rm -f /opt/webapp_code/rosetta/base_app/migrations
if [ ! -d "$MIGRATIONS_DATA_FOLDER/base_app" ] ; then
# If migrations were not already initialized, do it now
echo "Initializing migrations for base_app"...
mkdir $MIGRATIONS_DATA_FOLDER/base_app && chown rosetta:rosetta $MIGRATIONS_DATA_FOLDER/base_app
touch $MIGRATIONS_DATA_FOLDER/base_app/__init__.py && chown rosetta:rosetta $MIGRATIONS_DATA_FOLDER/base_app/__init__.py
fi
# Use the persisted migrations
ln -s $MIGRATIONS_DATA_FOLDER/base_app /opt/webapp_code/rosetta/base_app/migrations