Hello,
My job:
job "test.domain.tld" {
region = "global"
datacenters = ["dc1"]
type = "service"
update {
max_parallel = 1
canary = 1
min_healthy_time = "10s"
healthy_deadline = "5m"
auto_revert = true
auto_promote = true
health_check = "checks"
stagger = "30s"
}
group "database" {
network {
mode = "bridge"
}
service {
name = "database"
port = "3306"
connect {
sidecar_service {}
}
}
task "mariadb" {
driver = "docker"
config {
image = "ghcr.io/linuxserver/mariadb"
volumes = [
"/data/test.domain.tld/mysql:/config"
]
}
env {
MYSQL_USER = "traccar"
MYSQL_PASSWORD = "xxx"
MYSQL_ROOT_PASSWORD = "xxx"
MYSQL_DATABASE = "traccar"
}
resources {
memory = 300
}
}
}
group "app" {
network {
mode = "bridge"
port "webinterface" {
to = 8082
}
}
restart {
attempts = 10
interval = "5m"
delay = "10s"
mode = "delay"
}
ephemeral_disk {
size = 300
sticky = "true"
migrate = true
}
service {
name = "traccar"
port = "webinterface"
tags = [
"traefik.enable=true",
"traefik.http.routers.domaintld.tls=true",
"traefik.http.routers.domaintld.tls.certresolver=myresolver",
"traefik.http.routers.domaintld.tls.options=mintls12@file",
"traefik.http.routers.domaintld.entrypoints=https",
"traefik.http.routers.domaintld.middlewares=domaintld-headers@consulcatalog",
"traefik.http.routers.domaintld.rule=Host(`test.domain.tld`)",
"traefik.http.middlewares.domaintld-headers.headers.customResponseHeaders.Strict-Transport-Security=max-age=63072000",
"traefik.http.middlewares.domaintld-headers.headers.frameDeny=true",
"traefik.http.middlewares.domaintld-headers.headers.browserXssFilter=true",
"traefik.http.middlewares.domaintld-headers.headers.contentTypeNosniff=true",
"traefik.http.middlewares.domaintld-headers.headers.stsIncludeSubdomains=true",
"traefik.http.middlewares.domaintld-headers.headers.stsPreload=true",
"traefik.http.middlewares.domaintld-headers.headers.stsSeconds=31536000",
"traefik.http.middlewares.domaintld-headers.headers.forceSTSHeader=true",
"traefik.http.middlewares.domaintld-headers.headers.accessControlMaxAge=15552000",
"traefik.http.middlewares.domaintld-headers.headers.customFrameOptionsValue=SAMEORIGIN",
"traefik.http.middlewares.domaintld-headers.headers.sslHost=test.domain.tld",
"traefik.http.middlewares.domaintld-headers.headers.sslForceHost=true"
]
connect {
sidecar_service {
proxy {
upstreams {
destination_name = "database"
local_bind_port = 3306
}
}
}
}
}
task "traccar" {
driver = "docker"
env {
}
config {
image = "traccar/traccar"
ports = ["webinterface"]
volumes = [
"local/traccar.xml:/opt/traccar/conf/traccar.xml:ro",
"/data/test.domain.tld/logs:/opt/traccar/logs:rw"
]
}
resources {
cpu = 1024
memory = 1024
}
template {
change_mode = "noop"
destination = "local/traccar.xml"
data = <<EOH
<?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>
<entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
<entry key='database.url'>jdbc:mysql://127.0.0.1:3306/traccar?serverTimezone=UTC&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry>
<entry key='database.user'>traccar</entry>
<entry key='database.password'>bKQm3L444Dyj</entry>
</properties>
EOH
}
}
}
}
With the right port for database
Job failed - consul connect
Another problem now. The job successfully run, but traefik not working when consul connect is used in job.
With other job, traefik works fine.
In Traefikâs logs, I have this in loop:
time="2021-10-29T13:31:19Z" level=error msg="Router defined multiple times with different configurations in [traccar-traccar-nomad-task-535eef15-831f-9cd2-be74-c419e28fe66b-group-app-traccar-webinterface traccar-traccar-sidecar-proxy-nomad-task-535eef15-831f-9cd2-be74-c419e28fe66b-group-app-traccar-webinterface-sidecar-proxy]" routerName=domaintld providerName=consulcatalog
time="2021-10-29T13:31:34Z" level=error msg="Router defined multiple times with different configurations in [traccar-traccar-nomad-task-535eef15-831f-9cd2-be74-c419e28fe66b-group-app-traccar-webinterface traccar-traccar-sidecar-proxy-nomad-task-535eef15-831f-9cd2-be74-c419e28fe66b-group-app-traccar-webinterface-sidecar-proxy]" providerName=consulcatalog routerName=domaintld
Sorry, I donât understand.
I see somes topics about traefik and consul connect but on kubernetes and somes other on github issues, but I donât understand about my case.
Thanks
Have great day!














I let random port to webinterface.
