#!/bin/bash # exit when any command fails set -e # Required to suppress some git errors further down the line git config --global --add safe.directory /home/*** # 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 if [[ ! -d "$INVENTREE_BACKUP_DIR" ]]; then echo "Creating directory $INVENTREE_BACKUP_DIR" mkdir -p $INVENTREE_BACKUP_DIR fi # Check if "config.yaml" has been copied into the correct location if test -f "$INVENTREE_CONFIG_FILE"; then echo "Loading config file : $INVENTREE_CONFIG_FILE" else echo "Copying config file to $INVENTREE_CONFIG_FILE" cp $INVENTREE_HOME/InvenTree/config_template.yaml $INVENTREE_CONFIG_FILE fi # Setup a python virtual environment # This should be done on the *mounted* filesystem, # so that the installed modules persist! if [[ -n "$INVENTREE_PY_ENV" ]]; then if test -d "$INVENTREE_PY_ENV"; then # venv already exists echo "Using Python virtual environment: ${INVENTREE_PY_ENV}" else # Setup a virtual environment (within the "data/env" directory) echo "Running first time setup for python environment" python3 -m venv ${INVENTREE_PY_ENV} --system-site-packages --upgrade-deps fi # Now activate the venv source ${INVENTREE_PY_ENV}/bin/activate fi cd ${INVENTREE_HOME} # Launch the CMD *after* the ENTRYPOINT completes exec "$@"