diff --git a/entrypoint.sh b/entrypoint.sh index 3f2b134..00b70dc 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,12 +1,14 @@ #!/bin/bash set -e -# Standardwerte setzen, falls beim Containerstart keine Variablen übergeben wurden -LDAP_URI=${LDAP_URI:-"ldap://10.0.2.123:389"} -LDAP_BASE_DN=${LDAP_BASE_DN:-"dc=pi-farm,dc=de"} -LDAP_BIND_DN=${LDAP_BIND_DN:-"cn=admin,dc=pi-farm,dc=de"} -LDAP_SUDO_GROUP=${LDAP_SUDO_GROUP:-"sudo_users"} -# LDAP_BIND_PASSWORD muss übergeben werden! +# Mapping der Gitea-Workflow Variablen (ENV_...) auf interne Variablen +# Falls ENV_LDAP_URI nicht gesetzt ist, wird ein Fallback genutzt +LDAP_URI=${ENV_LDAP_URI:-"ldap://localhost:389"} +LDAP_BASE_DN=${ENV_LDAP_BASE_DN:-"dc=example,dc=com"} +LDAP_BIND_DN=${ENV_LDAP_BIND_DN:-"cn=admin,dc=example,dc=com"} +LDAP_BIND_PASSWORD=${ENV_LDAP_BIND_PASSWORD:-"password"} +LDAP_SUDO_GROUP=${ENV_LDAP_SUDO_GROUP:-"sudo_users"} +SSSD_DEBUG=${ENV_SSSD_DEBUG_LEVEL:-0} echo ">>> Erstelle SSSD Konfiguration..." cat < /etc/sssd/sssd.conf @@ -39,7 +41,6 @@ cache_credentials = true enumerate = false EOF -# Rechte zwingend auf 600, sonst startet SSSD nicht chmod 600 /etc/sssd/sssd.conf chown root:root /etc/sssd/sssd.conf @@ -47,19 +48,14 @@ echo ">>> Erstelle Sudoers-Regel für Gruppe: ${LDAP_SUDO_GROUP}..." echo "%${LDAP_SUDO_GROUP} ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ldap-admins chmod 0440 /etc/sudoers.d/ldap-admins -echo ">>> Leere alten SSSD Cache..." +echo ">>> Bereinige SSSD Cache..." rm -f /var/lib/sss/db/* rm -f /var/lib/sss/mc/* -echo ">>> Starte SSSD im Hintergrund..." -# Wir starten SSSD als Hintergrunddienst (ohne interaktives Log-Spamming) -sssd -D +echo ">>> Starte Dienste..." +# SSSD mit dem gemappten Debug-Level starten +sssd -D --debug-level=${SSSD_DEBUG} -echo ">>> Starte XRDP..." -# dbus starten (oft wichtig für xfce im Container) service dbus start - -# Startet den xrdp-sesman und anschließend xrdp im Vordergrund, -# damit der Container nicht stirbt xrdp-sesman exec xrdp -n \ No newline at end of file