diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 8922a5d93..effedee6d 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -7,31 +7,31 @@ while ! ./manage.py migrate 2>&1; do sleep 3 done -# create superuser silently -if [ -z ${SUPERUSER_NAME+x} ]; then - SUPERUSER_NAME='admin' -fi -if [ -z ${SUPERUSER_EMAIL+x} ]; then - SUPERUSER_EMAIL='admin@example.com' -fi -if [ -z ${SUPERUSER_PASSWORD+x} ]; then - if [ -f "/run/secrets/superuser_password" ]; then - SUPERUSER_PASSWORD="$(< /run/secrets/superuser_password)" - else - SUPERUSER_PASSWORD='admin' +if [ "$SKIP_SUPERUSER" == "true" ]; then + echo "↩ī¸ Skipp creating the superuser" +else + if [ -z ${SUPERUSER_NAME+x} ]; then + SUPERUSER_NAME='admin' fi -fi -if [ -z ${SUPERUSER_API_TOKEN+x} ]; then - if [ -f "/run/secrets/superuser_api_token" ]; then - SUPERUSER_API_TOKEN="$(< /run/secrets/superuser_api_token)" - else - SUPERUSER_API_TOKEN='0123456789abcdef0123456789abcdef01234567' + if [ -z ${SUPERUSER_EMAIL+x} ]; then + SUPERUSER_EMAIL='admin@example.com' + fi + if [ -z ${SUPERUSER_PASSWORD+x} ]; then + if [ -f "/run/secrets/superuser_password" ]; then + SUPERUSER_PASSWORD="$(< /run/secrets/superuser_password)" + else + SUPERUSER_PASSWORD='admin' + fi + fi + if [ -z ${SUPERUSER_API_TOKEN+x} ]; then + if [ -f "/run/secrets/superuser_api_token" ]; then + SUPERUSER_API_TOKEN="$(< /run/secrets/superuser_api_token)" + else + SUPERUSER_API_TOKEN='0123456789abcdef0123456789abcdef01234567' + fi fi -fi - -echo "💡 Username: ${SUPERUSER_NAME}, E-Mail: ${SUPERUSER_EMAIL}" -./manage.py shell --interface python << END + ./manage.py shell --interface python << END from django.contrib.auth.models import User from users.models import Token if not User.objects.filter(username='${SUPERUSER_NAME}'): @@ -39,8 +39,11 @@ if not User.objects.filter(username='${SUPERUSER_NAME}'): Token.objects.create(user=u, key='${SUPERUSER_API_TOKEN}') END + echo "💡 Superuser Username: ${SUPERUSER_NAME}, E-Mail: ${SUPERUSER_EMAIL}" +fi + if [ "$SKIP_STARTUP_SCRIPTS" == "true" ]; then - echo "☇ Skipping startup scripts" + echo "↩ī¸ Skipping startup scripts" else for script in /opt/netbox/startup_scripts/*.py; do echo "⚙ī¸ Executing '$script'" @@ -55,4 +58,6 @@ echo "✅ Initialisation is done." # launch whatever is passed by docker # (i.e. the RUN instruction in the Dockerfile) -exec ${@} +# +# shellcheck disable=SC2068 +exec $@ diff --git a/env/netbox.env b/env/netbox.env index 0b02958a2..4a75905e0 100644 --- a/env/netbox.env +++ b/env/netbox.env @@ -20,6 +20,8 @@ REDIS_DATABASE=0 REDIS_CACHE_DATABASE=1 REDIS_SSL=false SECRET_KEY=r8OwDznj!!dci#P9ghmRfdu1Ysxm0AiPeDCQhKE+N_rClfWNj +SKIP_STARTUP_SCRIPTS=false +SKIP_SUPERUSER=false SUPERUSER_NAME=admin SUPERUSER_EMAIL=admin@example.com SUPERUSER_PASSWORD=admin