#!/bin/sh set -ev cd $(realpath $(dirname "${0}"))/install # Check prerequisites [ ! -e /run/openrc/started/postgres ] && service postgres start && STOP_POSTGRES=1 [ ! -e /run/openrc/started/rabbitmq ] && service rabbitmq start && STOP_RABBITMQ=1 # Create PostgreSQL user and database export PANDORA_PWD=$(head -c 18 /dev/urandom | base64 | tr -d '+/=') envsubst /srv/pandora/conf/local_settings.py # Set "production values" (increases performance) only if the DEBUG environment variable is not set if [ ${DEBUG:-0} -eq 0 ]; then sed -i 's/DEBUG = True/DEBUG = False/' /srv/pandora/conf/local_settings.py fi # Populate database lxc-execute pandora -- /srv/pandora/pandora/manage.py migrate --noinput lxc-execute pandora -- /srv/pandora/pandora/manage.py sqlfindindex lxc-execute pandora -- /srv/pandora/pandora/manage.py sync_itemsort lxc-execute pandora -- /srv/pandora/pandora/manage.py sync_documentsort # Create admin account export PANDORA_ADMIN_USER=admin export PANDORA_ADMIN_EMAIL=admin@example.com export PANDORA_ADMIN_PWD=$(head -c 12 /dev/urandom | base64 | tr -d '+/=') export PANDORA_ADMIN_HASH=$(lxc-execute pandora -- sh -c "DJANGO_SETTINGS_MODULE=srv.pandora.pandora.settings python3 -c \"from django.contrib.auth.hashers import make_password; print(make_password('${PANDORA_ADMIN_PWD}'))\"") envsubst