Use xmlstarlet
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
"author": "Traccar developers",
|
"author": "Traccar developers",
|
||||||
"description": "file://DESCRIPTION.md",
|
"description": "file://DESCRIPTION.md",
|
||||||
"changelog": "file://CHANGELOG",
|
"changelog": "file://CHANGELOG",
|
||||||
"tagline": "One-line description",
|
"tagline": "Modern GPS Tracking Platform",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"healthCheckPath": "/",
|
"healthCheckPath": "/",
|
||||||
"httpPort": 8082,
|
"httpPort": 8082,
|
||||||
@@ -22,10 +22,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"website": "https://www.traccar.org",
|
"website": "https://www.traccar.org",
|
||||||
|
"postInstallMessage": "file://POSTINSTALL.md",
|
||||||
"contactEmail": "support@cloudron.io",
|
"contactEmail": "support@cloudron.io",
|
||||||
"icon": "file://logo.png",
|
"icon": "file://logo.png",
|
||||||
"tags": [
|
"tags": [
|
||||||
"changeme"
|
"gps", "tracking", "seek", "fleet"
|
||||||
],
|
],
|
||||||
"mediaLinks": []
|
"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
|
RUN mkdir -p /app/code
|
||||||
WORKDIR /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 && \
|
RUN wget https://github.com/traccar/traccar/releases/download/v${VERSION}/traccar-linux-64-${VERSION}.zip -O traccar.zip && \
|
||||||
unzip 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
|
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 && \
|
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/
|
COPY start.sh traccar.xml.template /app/pkg/
|
||||||
|
|
||||||
|
34
start.sh
34
start.sh
@@ -2,25 +2,29 @@
|
|||||||
|
|
||||||
set -eu -o pipefail
|
set -eu -o pipefail
|
||||||
|
|
||||||
|
mkdir -p /run/traccar/logs
|
||||||
|
|
||||||
echo "=> Ensure traccar.xml config"
|
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
|
cp /app/pkg/traccar.xml.template /app/data/traccar.xml
|
||||||
# fi
|
fi
|
||||||
|
|
||||||
sed -e "s,##CLOUDRON_POSTGRESQL_HOST##,${CLOUDRON_POSTGRESQL_HOST}," \
|
xmlstarlet ed --inplace \
|
||||||
-e "s,##CLOUDRON_POSTGRESQL_PORT##,${CLOUDRON_POSTGRESQL_PORT}," \
|
--update '//properties/entry[@key="database.url"]' -v "jdbc:postgresql://${CLOUDRON_POSTGRESQL_HOST}:${CLOUDRON_POSTGRESQL_PORT}/${CLOUDRON_POSTGRESQL_DATABASE}" \
|
||||||
-e "s,##CLOUDRON_POSTGRESQL_DATABASE##,${CLOUDRON_POSTGRESQL_DATABASE}," \
|
--update '//properties/entry[@key="database.user"]' -v "${CLOUDRON_POSTGRESQL_USERNAME}" \
|
||||||
-e "s,##CLOUDRON_POSTGRESQL_USERNAME##,${CLOUDRON_POSTGRESQL_USERNAME}," \
|
--update '//properties/entry[@key="database.password"]' -v "${CLOUDRON_POSTGRESQL_PASSWORD}" \
|
||||||
-e "s,##CLOUDRON_POSTGRESQL_PASSWORD##,${CLOUDRON_POSTGRESQL_PASSWORD}," \
|
/app/data/traccar.xml
|
||||||
-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
|
|
||||||
|
|
||||||
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"
|
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.url'>##CLOUDRON_LDAP_URL##</entry>
|
||||||
<entry key='ldap.base'>##CLOUDRON_LDAP_USERS_BASE_DN##</entry>
|
<entry key='ldap.base'>##CLOUDRON_LDAP_USERS_BASE_DN##</entry>
|
||||||
<entry key='ldap.idAttribute'>username</entry>
|
<entry key='ldap.idAttribute'>username</entry>
|
||||||
<entry key='ldap.searchFilter'>(|(username=:login)(mail=:login))</entry>
|
<entry key='ldap.searchFilter'>username=:login</entry>
|
||||||
<entry key='ldap.ldap.adminGroup'>admins</entry>
|
|
||||||
<entry key='ldap.user'>##CLOUDRON_LDAP_BIND_DN##</entry>
|
<entry key='ldap.user'>##CLOUDRON_LDAP_BIND_DN##</entry>
|
||||||
<entry key='ldap.password'>##CLOUDRON_LDAP_BIND_PASSWORD##</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>
|
</properties>
|
||||||
|
Reference in New Issue
Block a user