Skip to content
Snippets Groups Projects
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