Use xmlstarlet
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
"author": "Traccar developers",
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"changelog": "file://CHANGELOG",
|
||||
"tagline": "One-line description",
|
||||
"tagline": "Modern GPS Tracking Platform",
|
||||
"version": "0.1.0",
|
||||
"healthCheckPath": "/",
|
||||
"httpPort": 8082,
|
||||
@@ -22,10 +22,11 @@
|
||||
}
|
||||
},
|
||||
"website": "https://www.traccar.org",
|
||||
"postInstallMessage": "file://POSTINSTALL.md",
|
||||
"contactEmail": "support@cloudron.io",
|
||||
"icon": "file://logo.png",
|
||||
"tags": [
|
||||
"changeme"
|
||||
"gps", "tracking", "seek", "fleet"
|
||||
],
|
||||
"mediaLinks": []
|
||||
}
|
||||
|
@@ -1,9 +1,9 @@
|
||||
FROM cloudron/base:2.0.0@sha256:f9fea80513aa7c92fe2e7bf3978b54c8ac5222f47a9a32a7f8833edf0eb5a4f4
|
||||
FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd14060332dd88263ea
|
||||
|
||||
RUN mkdir -p /app/code
|
||||
WORKDIR /app/code
|
||||
|
||||
ARG VERSION=4.10
|
||||
ARG VERSION=5.0
|
||||
|
||||
RUN wget https://github.com/traccar/traccar/releases/download/v${VERSION}/traccar-linux-64-${VERSION}.zip -O traccar.zip && \
|
||||
unzip traccar.zip && \
|
||||
@@ -11,7 +11,7 @@ RUN wget https://github.com/traccar/traccar/releases/download/v${VERSION}/tracca
|
||||
rm README.txt traccar.zip traccar.run
|
||||
|
||||
RUN rm /app/code/conf/traccar.xml && ln -s /app/data/traccar.xml /app/code/conf/traccar.xml && \
|
||||
rm -rf /app/code/logs && ln -s /tmp/logs /app/code/logs
|
||||
rm -rf /app/code/logs && ln -s /run/traccar/logs /app/code/logs
|
||||
|
||||
COPY start.sh traccar.xml.template /app/pkg/
|
||||
|
||||
|
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
|
||||
|
@@ -27,14 +27,8 @@
|
||||
<entry key='ldap.url'>##CLOUDRON_LDAP_URL##</entry>
|
||||
<entry key='ldap.base'>##CLOUDRON_LDAP_USERS_BASE_DN##</entry>
|
||||
<entry key='ldap.idAttribute'>username</entry>
|
||||
<entry key='ldap.searchFilter'>(|(username=:login)(mail=:login))</entry>
|
||||
<entry key='ldap.ldap.adminGroup'>admins</entry>
|
||||
<entry key='ldap.searchFilter'>username=:login</entry>
|
||||
<entry key='ldap.user'>##CLOUDRON_LDAP_BIND_DN##</entry>
|
||||
<entry key='ldap.password'>##CLOUDRON_LDAP_BIND_PASSWORD##</entry>
|
||||
|
||||
<!-- <entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry> -->
|
||||
<!-- <entry key='database.url'>jdbc:##CLOUDRON_MYSQL_URL##?serverTimezone=UTC&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry> -->
|
||||
<!-- <entry key='database.user'>sa</entry> -->
|
||||
<!-- <entry key='database.password'></entry> -->
|
||||
|
||||
</properties>
|
||||
|
Reference in New Issue
Block a user