From 90afffb41c72363f57907305b7bfc6c997374fde Mon Sep 17 00:00:00 2001
From: hygienic-books <hygienic-books@tentic.net>
Date: Wed, 5 Mar 2025 02:28:20 +0100
Subject: [PATCH] feat(traccar): Update to Traccar 6

---
 build-context/mysql/Dockerfile                |  4 +++
 build-context/mysql/docker-data/.gitkeep      |  0
 .../mysql/docker-data/config/db/my.cnf        |  5 ++++
 .../docker-entrypoint-initdb.d/.gitkeep       |  0
 build-context/mysql/extras/.gitkeep           |  0
 build-context/traccar/Dockerfile              | 14 ++++++++++
 build-context/traccar/docker-data/.gitkeep    |  0
 .../traccar/docker-data/config/traccar.xml    | 26 +++++++++++++++++++
 .../traccar/docker-data/data/.gitkeep         |  0
 build-context/traccar/extras/.gitkeep         |  0
 10 files changed, 49 insertions(+)
 create mode 100644 build-context/mysql/Dockerfile
 create mode 100644 build-context/mysql/docker-data/.gitkeep
 create mode 100644 build-context/mysql/docker-data/config/db/my.cnf
 create mode 100644 build-context/mysql/docker-data/config/docker-entrypoint-initdb.d/.gitkeep
 create mode 100644 build-context/mysql/extras/.gitkeep
 create mode 100644 build-context/traccar/Dockerfile
 create mode 100644 build-context/traccar/docker-data/.gitkeep
 create mode 100644 build-context/traccar/docker-data/config/traccar.xml
 create mode 100644 build-context/traccar/docker-data/data/.gitkeep
 create mode 100644 build-context/traccar/extras/.gitkeep

diff --git a/build-context/mysql/Dockerfile b/build-context/mysql/Dockerfile
new file mode 100644
index 0000000..749761f
--- /dev/null
+++ b/build-context/mysql/Dockerfile
@@ -0,0 +1,4 @@
+ARG MYSQL_VERSION
+
+FROM "mysql:${MYSQL_VERSION}"
+RUN mkdir -p /tmp/mysql
diff --git a/build-context/mysql/docker-data/.gitkeep b/build-context/mysql/docker-data/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/build-context/mysql/docker-data/config/db/my.cnf b/build-context/mysql/docker-data/config/db/my.cnf
new file mode 100644
index 0000000..8486d1b
--- /dev/null
+++ b/build-context/mysql/docker-data/config/db/my.cnf
@@ -0,0 +1,5 @@
+[mysqld]
+innodb_buffer_pool_size        = 512M
+innodb_redo_log_capacity       = 512M
+innodb_flush_method            = O_DIRECT
+innodb_flush_log_at_trx_commit = 0
diff --git a/build-context/mysql/docker-data/config/docker-entrypoint-initdb.d/.gitkeep b/build-context/mysql/docker-data/config/docker-entrypoint-initdb.d/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/build-context/mysql/extras/.gitkeep b/build-context/mysql/extras/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/build-context/traccar/Dockerfile b/build-context/traccar/Dockerfile
new file mode 100644
index 0000000..042ad99
--- /dev/null
+++ b/build-context/traccar/Dockerfile
@@ -0,0 +1,14 @@
+# For the remainder of this Dockerfile EXAMPLE_ARG_FOR_DOCKERFILE will be
+# available with a value of 'must_be_available_in_dockerfile', check out the env
+# file at 'env/fully.qualified.domain.name.example' for reference.
+# ARG EXAMPLE_ARG_FOR_DOCKERFILE
+
+# Another env var, this one's needed in the example build step below:
+# ARG TRACCAR_VERSION
+
+# Example
+# FROM "traccar:${TRACCAR_VERSION}"
+# RUN apt-get update && \
+#     apt-get -y install \
+#     somepackage-6.q16-6-extra && \
+#     rm -rf /var/lib/apt/lists/*
diff --git a/build-context/traccar/docker-data/.gitkeep b/build-context/traccar/docker-data/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/build-context/traccar/docker-data/config/traccar.xml b/build-context/traccar/docker-data/config/traccar.xml
new file mode 100644
index 0000000..331f1b1
--- /dev/null
+++ b/build-context/traccar/docker-data/config/traccar.xml
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
+
+<properties>
+
+    <entry key='config.default'>./conf/default.xml</entry>
+
+    <!--
+
+    This is the main configuration file. All your configuration parameters should be placed in this file.
+
+    Default configuration parameters are located in the "default.xml" file. You should not modify it to avoid issues
+    with upgrading to a new version. Parameters in the main config file override values in the default file. Do not
+    remove "config.default" parameter from this file unless you know what you are doing.
+
+    For list of available parameters see following page: https://www.traccar.org/configuration-file/
+
+    -->
+
+    <entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
+    <entry key='database.url'>jdbc:mysql://mysql/traccar?zeroDateTimeBehavior=round&amp;serverTimezone=UTC&amp;allowPublicKeyRetrieval=true&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
+    <entry key='database.user'>traccar</entry>
+    <entry key='database.password'>t0psecret</entry>
+
+</properties>
diff --git a/build-context/traccar/docker-data/data/.gitkeep b/build-context/traccar/docker-data/data/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/build-context/traccar/extras/.gitkeep b/build-context/traccar/extras/.gitkeep
new file mode 100644
index 0000000..e69de29