InvenTree/docker/start_prod_server.sh

42 lines
1.3 KiB
Bash
Raw Normal View History

2021-04-01 13:40:47 +00:00
#!/bin/sh
# Create required directory structure (if it does not already exist)
if [[ ! -d "$INVENTREE_STATIC_ROOT" ]]; then
echo "Creating directory $INVENTREE_STATIC_ROOT"
mkdir -p $INVENTREE_STATIC_ROOT
fi
if [[ ! -d "$INVENTREE_MEDIA_ROOT" ]]; then
echo "Creating directory $INVENTREE_MEDIA_ROOT"
mkdir -p $INVENTREE_MEDIA_ROOT
fi
# Check if "config.yaml" has been copied into the correct location
if test -f "$INVENTREE_CONFIG_FILE"; then
echo "$INVENTREE_CONFIG_FILE exists - skipping"
else
echo "Copying config file to $INVENTREE_CONFIG_FILE"
cp $INVENTREE_HOME/InvenTree/config_template.yaml $INVENTREE_CONFIG_FILE
2021-04-01 13:40:47 +00:00
fi
echo "Starting InvenTree server..."
2021-04-07 12:27:55 +00:00
2021-04-01 13:40:47 +00:00
# Wait for the database to be ready
cd $INVENTREE_MNG_DIR
2021-07-02 03:07:42 +00:00
python3 manage.py wait_for_db
2021-04-01 13:40:47 +00:00
sleep 10
echo "Running InvenTree database migrations and collecting static files..."
# We assume at this stage that the database is up and running
# Ensure that the database schema are up to date
2021-07-02 03:07:42 +00:00
python3 manage.py check || exit 1
python3 manage.py migrate --noinput || exit 1
python3 manage.py migrate --run-syncdb || exit 1
python3 manage.py prerender || exit 1
python3 manage.py collectstatic --noinput || exit 1
python3 manage.py clearsessions || exit 1
2021-04-01 13:40:47 +00:00
2021-04-10 05:08:10 +00:00
# Now we can launch the server
2021-04-18 09:37:11 +00:00
gunicorn -c $INVENTREE_HOME/gunicorn.conf.py InvenTree.wsgi -b 0.0.0.0:$INVENTREE_WEB_PORT