Files
portal/portaldb.nomad

86 lines
1.8 KiB
Plaintext
Raw Normal View History

2026-05-18 23:58:40 +02:00
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.
2026-05-18 23:58:40 +02:00
tags = [
"traefik.enable=false",
2026-05-18 23:58:40 +02:00
]
check {
type = "tcp"
interval = "10s"
timeout = "3s"
}
}
}
}
}