83 lines
2.7 KiB
Bash
Executable File
83 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Install any local extensions in the src_extensions volume
|
|
echo "Looking for local extensions to install..."
|
|
echo "Extension dir contents:"
|
|
ls -la $SRC_EXTENSIONS_DIR
|
|
for i in $SRC_EXTENSIONS_DIR/*
|
|
do
|
|
if [ -d $i ];
|
|
then
|
|
|
|
if [ -f $i/pip-requirements.txt ];
|
|
then
|
|
pip install -r $i/pip-requirements.txt
|
|
echo "Found requirements file in $i"
|
|
fi
|
|
if [ -f $i/requirements.txt ];
|
|
then
|
|
pip install -r $i/requirements.txt
|
|
echo "Found requirements file in $i"
|
|
fi
|
|
if [ -f $i/dev-requirements.txt ];
|
|
then
|
|
pip install -r $i/dev-requirements.txt
|
|
echo "Found dev-requirements file in $i"
|
|
fi
|
|
if [ -f $i/setup.py ];
|
|
then
|
|
cd $i
|
|
python $i/setup.py develop
|
|
echo "Found setup.py file in $i"
|
|
cd $APP_DIR
|
|
fi
|
|
|
|
# Point `use` in test.ini to location of `test-core.ini`
|
|
if [ -f $i/test.ini ];
|
|
then
|
|
echo "Updating \`test.ini\` reference to \`test-core.ini\` for plugin $i"
|
|
paster --plugin=ckan config-tool $i/test.ini "use = config:../../src/ckan/test-core.ini"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Set debug to true
|
|
echo "Enabling debug mode"
|
|
ckan config-tool $CKAN_INI -s DEFAULT "debug = true"
|
|
|
|
# Update the plugins setting in the ini file with the values defined in the env var
|
|
echo "Loading the following plugins: $CKAN__PLUGINS"
|
|
ckan config-tool $CKAN_INI "ckan.plugins = $CKAN__PLUGINS"
|
|
|
|
# Update test-core.ini DB, SOLR & Redis settings
|
|
echo "Loading test settings into test-core.ini"
|
|
ckan config-tool $SRC_DIR/ckan/test-core.ini \
|
|
"sqlalchemy.url = $TEST_CKAN_SQLALCHEMY_URL" \
|
|
"ckan.datstore.write_url = $TEST_CKAN_DATASTORE_WRITE_URL" \
|
|
"ckan.datstore.read_url = $TEST_CKAN_DATASTORE_READ_URL" \
|
|
"solr_url = $TEST_CKAN_SOLR_URL" \
|
|
"ckan.redis_url = $TEST_CKAN_REDIS_URL"
|
|
|
|
# Run the prerun script to init CKAN and create the default admin user
|
|
sudo -u ckan -EH python prerun.py
|
|
|
|
# Run any startup scripts provided by images extending this one
|
|
if [[ -d "/docker-entrypoint.d" ]]
|
|
then
|
|
for f in /docker-entrypoint.d/*; do
|
|
case "$f" in
|
|
*.sh) echo "$0: Running init file $f"; . "$f" ;;
|
|
*.py) echo "$0: Running init file $f"; python "$f"; echo ;;
|
|
*) echo "$0: Ignoring $f (not an sh or py file)" ;;
|
|
esac
|
|
echo
|
|
done
|
|
fi
|
|
|
|
# Start supervisord
|
|
supervisord --configuration /etc/supervisord.conf &
|
|
|
|
# Start the development server with automatic reload
|
|
# Check the --reloader options sudo -u ckan -EH ckan -c $CKAN_INI run --reloader <TEXT>
|
|
sudo -u ckan -EH ckan -c $CKAN_INI run
|