mirror of
https://github.com/hassio-addons/addon-traccar.git
synced 2025-05-05 03:21:31 +00:00
✨ Automatically use and discovery MySQL service
This commit is contained in:
parent
e1425bae6b
commit
6d7aaaedee
3 changed files with 56 additions and 0 deletions
|
@ -14,9 +14,11 @@ WORKDIR /opt/traccar
|
||||||
# Setup base
|
# Setup base
|
||||||
RUN \
|
RUN \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
|
mariadb-client=10.4.12-r0 \
|
||||||
nginx=1.16.1-r6 \
|
nginx=1.16.1-r6 \
|
||||||
nss=3.48-r0 \
|
nss=3.48-r0 \
|
||||||
openjdk8-jre=8.242.08-r0 \
|
openjdk8-jre=8.242.08-r0 \
|
||||||
|
xmlstarlet=1.6.1-r0 \
|
||||||
\
|
\
|
||||||
&& curl -J -L -o /tmp/traccar.zip \
|
&& curl -J -L -o /tmp/traccar.zip \
|
||||||
"https://github.com/traccar/traccar/releases/download/v4.8/traccar-other-4.8.zip" \
|
"https://github.com/traccar/traccar/releases/download/v4.8/traccar-other-4.8.zip" \
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
"80/tcp": "Web interface (Not required for Ingress)"
|
"80/tcp": "Web interface (Not required for Ingress)"
|
||||||
},
|
},
|
||||||
"map": ["config:rw", "ssl"],
|
"map": ["config:rw", "ssl"],
|
||||||
|
"services": ["mysql:want"],
|
||||||
"options": {
|
"options": {
|
||||||
"ssl": true,
|
"ssl": true,
|
||||||
"certfile": "fullchain.pem",
|
"certfile": "fullchain.pem",
|
||||||
|
|
53
traccar/rootfs/etc/cont-init.d/mysql.sh
Normal file
53
traccar/rootfs/etc/cont-init.d/mysql.sh
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
# ==============================================================================
|
||||||
|
# Home Assistant Community Add-on: Traccar
|
||||||
|
# Pre-configures the MySQL clients, if the service is available
|
||||||
|
# ==============================================================================
|
||||||
|
readonly CONFIG="/etc/traccar/hassio.xml"
|
||||||
|
declare host
|
||||||
|
declare password
|
||||||
|
declare port
|
||||||
|
declare username
|
||||||
|
declare url
|
||||||
|
|
||||||
|
if bashio::services.available "mysql"; then
|
||||||
|
host=$(bashio::services "mysql" "host")
|
||||||
|
password=$(bashio::services "mysql" "password")
|
||||||
|
port=$(bashio::services "mysql" "port")
|
||||||
|
username=$(bashio::services "mysql" "username")
|
||||||
|
|
||||||
|
# Create database if not exists
|
||||||
|
echo "CREATE DATABASE IF NOT EXISTS traccar;" \
|
||||||
|
| mysql -h "${host}" -P "${port}" -u "${username}" -p"${password}"
|
||||||
|
|
||||||
|
# Update Traccar XML configuration for database
|
||||||
|
xmlstarlet ed -L -s /properties \
|
||||||
|
-t elem -n entry_placeholder -v "com.mysql.jdbc.Driver" \
|
||||||
|
-i //entry_placeholder -t attr -n "key" -v "database.driver" \
|
||||||
|
-r //entry_placeholder -v entry \
|
||||||
|
"${CONFIG}"
|
||||||
|
|
||||||
|
url="jdbc:mysql://${host}:${port}/traccar?serverTimezone=UTC&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''"
|
||||||
|
xmlstarlet ed -L -s /properties \
|
||||||
|
-t elem -n entry_placeholder -v "${url}" \
|
||||||
|
-i //entry_placeholder -t attr -n "key" -v "database.url" \
|
||||||
|
-r //entry_placeholder -v entry \
|
||||||
|
"${CONFIG}"
|
||||||
|
|
||||||
|
xmlstarlet ed -L -s /properties \
|
||||||
|
-t elem -n entry_placeholder -v "${username}" \
|
||||||
|
-i //entry_placeholder -t attr -n "key" -v "database.user" \
|
||||||
|
-r //entry_placeholder -v entry \
|
||||||
|
"${CONFIG}"
|
||||||
|
|
||||||
|
xmlstarlet ed -L -s /properties \
|
||||||
|
-t elem -n entry_placeholder -v "${password}" \
|
||||||
|
-i //entry_placeholder -t attr -n "key" -v "database.password" \
|
||||||
|
-r //entry_placeholder -v entry \
|
||||||
|
"${CONFIG}"
|
||||||
|
else
|
||||||
|
bashio::log.warning "Traccar is using the internal H2 default database!"
|
||||||
|
bashio::log.warning "THIS IS NOT RECOMMENDED!!!"
|
||||||
|
bashio::log.warning "Please install the official MariaDB add-on, to ensure"
|
||||||
|
bashio::log.warning "you are using a solid database for Traccar."
|
||||||
|
fi
|
Loading…
Add table
Add a link
Reference in a new issue