diff --git a/CloudronManifest.json b/CloudronManifest.json index fc830f5..61d21ca 100644 --- a/CloudronManifest.json +++ b/CloudronManifest.json @@ -10,8 +10,10 @@ "httpPort": 8082, "addons": { "ldap": {}, - "localstorage": {} + "localstorage": {}, + "postgresql": {} }, + "manifestVersion": 2, "tcpPorts": { "OSMAND_PORT": { "title": "OsmAnd Port", @@ -19,8 +21,7 @@ "defaultValue": 5055 } }, - "manifestVersion": 1, - "website": "https://example.com", + "website": "https://www.traccar.org", "contactEmail": "support@cloudron.io", "icon": "file://logo.png", "tags": [ diff --git a/Dockerfile b/Dockerfile index a158f33..acb2ac1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,17 @@ -FROM cloudron/base:1.0.0@sha256:147a648a068a2e746644746bbfb42eb7a50d682437cead3c67c933c546357617 +FROM cloudron/base:2.0.0@sha256:f9fea80513aa7c92fe2e7bf3978b54c8ac5222f47a9a32a7f8833edf0eb5a4f4 RUN mkdir -p /app/code WORKDIR /app/code -RUN wget https://github.com/traccar/traccar/releases/download/v4.5/traccar-linux-64-4.5.zip -O traccar.zip && \ +ARG VERSION=4.10 + +RUN wget https://github.com/traccar/traccar/releases/download/v${VERSION}/traccar-linux-64-${VERSION}.zip -O traccar.zip && \ unzip traccar.zip && \ ./traccar.run --target /app/code/ --noexec && \ 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 COPY start.sh traccar.xml.template /app/pkg/ diff --git a/start.sh b/start.sh index 701bac9..e883275 100755 --- a/start.sh +++ b/start.sh @@ -3,9 +3,22 @@ set -eu -o pipefail 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 + +mkdir -p /tmp/logs cd /app/code diff --git a/traccar.xml.template b/traccar.xml.template index aab9ba3..cf26fec 100644 --- a/traccar.xml.template +++ b/traccar.xml.template @@ -18,9 +18,23 @@ --> - org.h2.Driver - jdbc:h2:./data/database - sa - + org.postgresql.Driver + jdbc:postgresql://##CLOUDRON_POSTGRESQL_HOST##:##CLOUDRON_POSTGRESQL_PORT##/##CLOUDRON_POSTGRESQL_DATABASE## + ##CLOUDRON_POSTGRESQL_USERNAME## + ##CLOUDRON_POSTGRESQL_PASSWORD## + + true + ##CLOUDRON_LDAP_URL## + ##CLOUDRON_LDAP_USERS_BASE_DN## + username + (|(username=:login)(mail=:login)) + admins + ##CLOUDRON_LDAP_BIND_DN## + ##CLOUDRON_LDAP_BIND_PASSWORD## + + + + +