diff --git a/CloudronManifest.json b/CloudronManifest.json
index 61d21ca..2714464 100644
--- a/CloudronManifest.json
+++ b/CloudronManifest.json
@@ -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": []
}
diff --git a/Dockerfile b/Dockerfile
index acb2ac1..7687863 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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/
diff --git a/start.sh b/start.sh
index e883275..6b06d47 100755
--- a/start.sh
+++ b/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
diff --git a/traccar.xml.template b/traccar.xml.template
index cf26fec..546bce8 100644
--- a/traccar.xml.template
+++ b/traccar.xml.template
@@ -27,14 +27,8 @@
##CLOUDRON_LDAP_URL##
##CLOUDRON_LDAP_USERS_BASE_DN##
username
- (|(username=:login)(mail=:login))
- admins
+ username=:login
##CLOUDRON_LDAP_BIND_DN##
##CLOUDRON_LDAP_BIND_PASSWORD##
-
-
-
-
-