Files
portal/portaldb.nomad
Henrik Jess Nielsen cc19cdf67b
All checks were successful
Deploy Dolibarr / deploy (push) Successful in 16s
fix: ingen HTTP-route paa databasen
traefik.enable=true fik pipelinen til at generere en TLS-terminerende
nginx-upstream direkte ind paa 192.168.15.124:3306, plus en DNS-record og et
Gatus-endpoint der aldrig kunne blive groent.

nginx taler ikke MySQL, saa svaret blev tomt — men der stod en vej udefra ind
paa databaseporten, og den skal ikke vaere der.

Dolibarr forbinder via portaldb.service.consul og er upaavirket.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-23 18:26:51 +02:00

86 lines
1.8 KiB
HCL

job "portaldb" {
datacenters = ["dc1"]
type = "service"
group "db" {
count = 1
constraint {
attribute = "${node.unique.name}"
value = "autobox.i80.dk"
}
network {
port "mysql" {
static = 3306
}
}
volume "dolibarr-db" {
type = "host"
source = "dolibarr-db"
read_only = false
}
task "mariadb" {
driver = "docker"
config {
image = "mariadb:10.11"
ports = ["mysql"]
}
volume_mount {
volume = "dolibarr-db"
destination = "/var/lib/mysql"
}
template {
data = <<EOH
MARIADB_ROOT_PASSWORD="{{ key "dolibarr/db_root_password" }}"
MARIADB_DATABASE="dolibarr"
MARIADB_USER="dolibarr"
MARIADB_PASSWORD="{{ key "dolibarr/db_password" }}"
EOH
destination = "secrets/mariadb.env"
env = true
}
resources {
cpu = 256
memory = 512
}
restart {
attempts = 5
delay = "15s"
interval = "2m"
mode = "fail"
}
service {
name = "portaldb"
port = "mysql"
provider = "consul"
# MariaDB skal ikke have en HTTP-route. Med enable=true genererede
# pipelinen en TLS-terminerende nginx-upstream direkte ind paa
# 192.168.15.124:3306 — en vej udefra ind paa databaseporten. nginx
# taler ikke MySQL, saa svaret blev tomt, men doeren skal ikke staa
# aaben. Den viste sig som et permanent roedt endpoint i Gatus.
#
# Dolibarr finder databasen via portaldb.service.consul og er upaavirket.
tags = [
"traefik.enable=false",
]
check {
type = "tcp"
interval = "10s"
timeout = "3s"
}
}
}
}
}