mirror of
https://github.com/netbox-community/netbox-docker.git
synced 2026-03-18 14:26:53 +00:00
Merge 76c103e6ae into c861c0bcc5
This commit is contained in:
commit
e8fd54bc5c
|
|
@ -13,6 +13,7 @@ services:
|
|||
# environment:
|
||||
# SKIP_SUPERUSER: "false"
|
||||
# SUPERUSER_API_TOKEN: ""
|
||||
# SUPERUSER_API_KEY: ""
|
||||
# SUPERUSER_EMAIL: ""
|
||||
# SUPERUSER_NAME: ""
|
||||
# SUPERUSER_PASSWORD: ""
|
||||
|
|
|
|||
|
|
@ -19,11 +19,20 @@ def _read_secret(secret_name: str, default: str | None = None) -> str | None:
|
|||
su_name = environ.get("SUPERUSER_NAME", "admin")
|
||||
su_email = environ.get("SUPERUSER_EMAIL", "admin@example.com")
|
||||
su_password = _read_secret("superuser_password", environ.get("SUPERUSER_PASSWORD", "admin"))
|
||||
# Sets the superuser API Token, defaults to widely known default
|
||||
if not environ.get("SUPERUSER_API_TOKEN"):
|
||||
print("⚠️ Warning: Defaulting to the old default admin token in your database. This token is widely known; please remove it.")
|
||||
su_api_token = _read_secret(
|
||||
"superuser_api_token",
|
||||
environ.get("SUPERUSER_API_TOKEN", "0123456789abcdef0123456789abcdef01234567"),
|
||||
)
|
||||
|
||||
# Sets the superuser API key, defaults to a randomly generated key.
|
||||
su_api_key = _read_secret(
|
||||
"superuser_api_key",
|
||||
environ.get("SUPERUSER_API_KEY"),
|
||||
)
|
||||
|
||||
if not User.objects.filter(username=su_name):
|
||||
u = User.objects.create_superuser(su_name, su_email, su_password)
|
||||
msg = ""
|
||||
|
|
@ -31,6 +40,9 @@ if not User.objects.filter(username=su_name):
|
|||
print("⚠️ No API token will be created as API_TOKEN_PEPPERS is not set")
|
||||
msg = f"💡 Superuser Username: {su_name}, E-Mail: {su_email}"
|
||||
else:
|
||||
t = Token.objects.create(user=u, token=su_api_token, version=TokenVersionChoices.V2)
|
||||
msg = f"💡 Superuser Username: {su_name}, E-Mail: {su_email}, API Token: {t} (use with '{t.get_auth_header_prefix()}<Your token>')"
|
||||
if su_api_key:
|
||||
t = Token.objects.create(user=u, token=su_api_token, version=TokenVersionChoices.V2, key=su_api_key)
|
||||
else:
|
||||
t = Token.objects.create(user=u, token=su_api_token, version=TokenVersionChoices.V2)
|
||||
msg = f"💡 Superuser Username: {su_name}, E-Mail: {su_email}, API Token: {su_api_token} (use with '{t.get_auth_header_prefix()}<Your token>')"
|
||||
print(msg)
|
||||
|
|
|
|||
Loading…
Reference in a new issue