From 36c07ba44f3a9f1d5031f073c9d9ba2ec86e5e4b Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Thu, 9 Jun 2022 09:52:01 -0700 Subject: [PATCH] Optional sso support --- CloudronManifest.json | 1 + start.sh | 27 ++++++++++++++++++--------- traccar.xml.template | 2 +- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/CloudronManifest.json b/CloudronManifest.json index ab54a14..9186dfd 100644 --- a/CloudronManifest.json +++ b/CloudronManifest.json @@ -17,6 +17,7 @@ "localstorage": {}, "postgresql": {} }, + "optionalSso": true, "manifestVersion": 2, "tcpPorts": { "OSMAND_PORT": { diff --git a/start.sh b/start.sh index 05e154f..37d44ea 100755 --- a/start.sh +++ b/start.sh @@ -15,23 +15,32 @@ if [[ ! -f /app/data/traccar.xml ]]; then (sleep 10000; disable_registration) & fi +# database xmlstarlet ed --inplace \ --update '//properties/entry[@key="database.url"]' -v "jdbc:postgresql://${CLOUDRON_POSTGRESQL_HOST}:${CLOUDRON_POSTGRESQL_PORT}/${CLOUDRON_POSTGRESQL_DATABASE}" \ --update '//properties/entry[@key="database.user"]' -v "${CLOUDRON_POSTGRESQL_USERNAME}" \ --update '//properties/entry[@key="database.password"]' -v "${CLOUDRON_POSTGRESQL_PASSWORD}" \ /app/data/traccar.xml +# origin xmlstarlet ed --inplace --update '//properties/entry[@key="web.url"]' -v "${CLOUDRON_APP_ORIGIN}" /app/data/traccar.xml - -xmlstarlet ed --inplace \ - --update '//properties/entry[@key="ldap.url"]' -v "${CLOUDRON_LDAP_URL}" \ - --update '//properties/entry[@key="ldap.base"]' -v "${CLOUDRON_LDAP_USERS_BASE_DN}" \ - --update '//properties/entry[@key="ldap.idAttribute"]' -v "username" \ - --update '//properties/entry[@key="ldap.searchFilter"]' -v 'username=:login' \ - --update '//properties/entry[@key="ldap.user"]' -v "${CLOUDRON_LDAP_BIND_DN}" \ - --update '//properties/entry[@key="ldap.password"]' -v "${CLOUDRON_LDAP_BIND_PASSWORD}" \ - /app/data/traccar.xml +# ldap +if [[ -n "${CLOUDRON_LDAP_URL:-}" ]]; then + xmlstarlet ed --inplace \ + --update '//properties/entry[@key="ldap.enable"]' -v "true" \ + --update '//properties/entry[@key="ldap.url"]' -v "${CLOUDRON_LDAP_URL}" \ + --update '//properties/entry[@key="ldap.base"]' -v "${CLOUDRON_LDAP_USERS_BASE_DN}" \ + --update '//properties/entry[@key="ldap.idAttribute"]' -v "username" \ + --update '//properties/entry[@key="ldap.searchFilter"]' -v 'username=:login' \ + --update '//properties/entry[@key="ldap.user"]' -v "${CLOUDRON_LDAP_BIND_DN}" \ + --update '//properties/entry[@key="ldap.password"]' -v "${CLOUDRON_LDAP_BIND_PASSWORD}" \ + /app/data/traccar.xml +else + xmlstarlet ed --inplace --update '//properties/entry[@key="ldap.enable"]' -v "false" /app/data/traccar.xml +fi + +# email xmlstarlet ed --inplace \ --update '//properties/entry[@key="mail.smtp.host"]' -v "${CLOUDRON_MAIL_SMTP_SERVER}" \ --update '//properties/entry[@key="mail.smtp.port"]' -v "${CLOUDRON_MAIL_SMTP_PORT}" \ diff --git a/traccar.xml.template b/traccar.xml.template index 84674d5..036ad08 100644 --- a/traccar.xml.template +++ b/traccar.xml.template @@ -4,7 +4,7 @@ - ./conf/default.xml + /app/code/conf/default.xml