73 lines
2.8 KiB
Bash
Executable File
73 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Debug
|
|
# set -x
|
|
|
|
# Do Not Change these variables unless you know what you are doing
|
|
export ESC=$
|
|
export DJANGO_SECRET_KEY=$(openssl rand -hex 32)
|
|
|
|
# Default variables. These shall be overridden :-)
|
|
export GUNICORN_WORKERS=${GUNICORN_WORKERS:-1}
|
|
export SITE_URI=${SITE_URI:-http://example.com}
|
|
export SITE_FQDN=$(echo $SITE_URI | sed -e "s/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/")
|
|
[ "${SITE_URI::5}" == "https" ] && SITE_SCHEME="https" || SITE_SCHEME="http"
|
|
export SITE_SCHEME
|
|
[ ${PUBLIC_REGISTER,,} == "false" ] \
|
|
&& { PUBLIC_REGISTER="False"; PUBLIC_REGISTER_JS="false"; } \
|
|
|| { PUBLIC_REGISTER="True"; PUBLIC_REGISTER_JS="true"; }
|
|
export PUBLIC_REGISTER PUBLIC_REGISTER_JS
|
|
export ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}
|
|
export NOREPLY_EMAIL=${NOREPLY_EMAIL:-no-reply@example.com}
|
|
export TAIGA_DB_HOST=${TAIGA_DB_HOST:-postgres}
|
|
export TAIGA_DB_PORT=${TAIGA_DB_PORT:-5432}
|
|
export TAIGA_DB_NAME=${TAIGA_DB_NAME:-taiga}
|
|
export TAIGA_DB_USER=${TAIGA_DB_USER:-taiga}
|
|
export TAIGA_DB_PASSWORD=${TAIGA_DB_PASSWORD:-mysecretpassword}
|
|
|
|
# Generate configs based on the template seeds
|
|
envsubst < /tmp/taiga.tmpl > /etc/nginx/sites-enabled/taiga
|
|
envsubst < /tmp/circus.ini.tmpl > $DATA/circus.ini
|
|
envsubst < /tmp/conf.json.tmpl > $DATA/taiga-front-dist/dist/conf.json
|
|
envsubst < /tmp/local.py.tmpl > $DATA/taiga-back/settings/local.py
|
|
|
|
# Keep sensitive information out of here
|
|
unset DJANGO_SECRET_KEY TAIGA_DB_PASSWORD
|
|
|
|
# Make sure the data is readable
|
|
chown -Rh $USER:$GROUP $DATA
|
|
|
|
# Allow a little delay on the first run
|
|
# to make sure Database is set and ready
|
|
[ -e "/tmp/taiga.firstrun" ] || ( echo "Waiting for 10 seconds to let the DB initialize" \
|
|
&& sleep 10 )
|
|
|
|
# Upgrade DB schemas, etc...
|
|
# This is important when Taiga's codebase gets updated
|
|
su -s /bin/sh $USER -c '. $DATA/venvtaiga/bin/activate
|
|
cd $DATA/taiga-back
|
|
python manage.py migrate --noinput
|
|
[ -e "/tmp/taiga.firstrun" ] || ( python manage.py loaddata initial_user \
|
|
&& python manage.py loaddata initial_project_templates \
|
|
&& python manage.py loaddata initial_role \
|
|
&& echo "A new user admin with password 123123 has been created" )
|
|
python manage.py compilemessages
|
|
python manage.py collectstatic --noinput
|
|
deactivate'
|
|
|
|
touch /tmp/taiga.firstrun
|
|
|
|
# (Optional) Create a new user admin with password 123123 and
|
|
# fill Taiga with the Sample data
|
|
# su -s /bin/sh $USER -c '. $DATA/venvtaiga/bin/activate
|
|
# cd $DATA/taiga-back
|
|
# python manage.py loaddata initial_user
|
|
# python manage.py loaddata initial_project_templates
|
|
# python manage.py loaddata initial_role
|
|
# python manage.py sample_data
|
|
# deactivate'
|
|
|
|
# Launch the backend
|
|
service nginx start
|
|
su -s /bin/sh $USER -c '/usr/local/bin/circusd "$DATA/circus.ini"'
|