Use xmlstarlet
This commit is contained in:
34
start.sh
34
start.sh
@@ -2,25 +2,29 @@
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
mkdir -p /run/traccar/logs
|
||||
|
||||
echo "=> Ensure traccar.xml config"
|
||||
# if [[ ! -f /app/data/traccar.xml ]]; then
|
||||
if [[ ! -f /app/data/traccar.xml ]]; then
|
||||
cp /app/pkg/traccar.xml.template /app/data/traccar.xml
|
||||
# fi
|
||||
fi
|
||||
|
||||
sed -e "s,##CLOUDRON_POSTGRESQL_HOST##,${CLOUDRON_POSTGRESQL_HOST}," \
|
||||
-e "s,##CLOUDRON_POSTGRESQL_PORT##,${CLOUDRON_POSTGRESQL_PORT}," \
|
||||
-e "s,##CLOUDRON_POSTGRESQL_DATABASE##,${CLOUDRON_POSTGRESQL_DATABASE}," \
|
||||
-e "s,##CLOUDRON_POSTGRESQL_USERNAME##,${CLOUDRON_POSTGRESQL_USERNAME}," \
|
||||
-e "s,##CLOUDRON_POSTGRESQL_PASSWORD##,${CLOUDRON_POSTGRESQL_PASSWORD}," \
|
||||
-e "s|##CLOUDRON_LDAP_URL##|${CLOUDRON_LDAP_URL}|" \
|
||||
-e "s|##CLOUDRON_LDAP_USERS_BASE_DN##|${CLOUDRON_LDAP_USERS_BASE_DN}|" \
|
||||
-e "s|##CLOUDRON_LDAP_BIND_DN##|${CLOUDRON_LDAP_BIND_DN}|" \
|
||||
-e "s,##CLOUDRON_LDAP_BIND_PASSWORD##,${CLOUDRON_LDAP_BIND_PASSWORD}," \
|
||||
-i /app/data/traccar.xml
|
||||
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
|
||||
|
||||
mkdir -p /tmp/logs
|
||||
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
|
||||
|
||||
cd /app/code
|
||||
chown -R cloudron /run/traccar /app/data
|
||||
|
||||
echo "=> Start traccar-server"
|
||||
./jre/bin/java -jar tracker-server.jar ./conf/traccar.xml
|
||||
exec gosu cloudron:cloudron /app/code/jre/bin/java -jar tracker-server.jar /app/code/conf/traccar.xml
|
||||
|
Reference in New Issue
Block a user