traefik: add ssh, voice, tracing, access log

mumble voice configs taken from here: https://github.com/DistroByte/nomad/blob/master/jobs/traefik.hcl

Co-authored-by: DistroByte <james@distrobyte.io>
This commit is contained in:
wizzdom 2024-12-12 02:01:00 +00:00
parent 9f16d94cbb
commit 8bdc8cfb0b
No known key found for this signature in database
GPG key ID: EEB7D796F4B09F07

View file

@ -14,6 +14,9 @@ job "traefik" {
port "admin" { port "admin" {
static = 8080 static = 8080
} }
port "ssh" {
static = 22
}
port "smtp" { port "smtp" {
static = 25 static = 25
} }
@ -38,6 +41,12 @@ job "traefik" {
port "managesieve" { port "managesieve" {
static = 4190 static = 4190
} }
port "voice-tcp" {
static = 4502
}
port "voice-udp" {
static = 4503
}
} }
service { service {
@ -55,6 +64,7 @@ job "traefik" {
volumes = [ volumes = [
"local/traefik.toml:/etc/traefik/traefik.toml", "local/traefik.toml:/etc/traefik/traefik.toml",
"/storage/nomad/traefik/acme/acme.json:/acme.json", "/storage/nomad/traefik/acme/acme.json:/acme.json",
"/storage/nomad/traefik/access.log:/access.log",
] ]
} }
@ -73,6 +83,9 @@ job "traefik" {
[entryPoints.traefik] [entryPoints.traefik]
address = ":8080" address = ":8080"
[entryPoints.ssh]
address = ":22"
[entryPoints.smtp] [entryPoints.smtp]
address = ":25" address = ":25"
@ -97,6 +110,14 @@ job "traefik" {
[entryPoints.managesieve] [entryPoints.managesieve]
address = ":4190" address = ":4190"
[entryPoints.voice-tcp]
address = ":4502"
[entryPoints.voice-udp]
address = ":4503/udp"
[entryPoints.voice-udp.udp]
timeout = "15s" # this will help reduce random dropouts in audio https://github.com/mumble-voip/mumble/issues/3550#issuecomment-441495977
[tls.options] [tls.options]
[tls.options.default] [tls.options.default]
minVersion = "VersionTLS12" minVersion = "VersionTLS12"
@ -131,6 +152,11 @@ job "traefik" {
email = "elected-admins@redbrick.dcu.ie" email = "elected-admins@redbrick.dcu.ie"
storage = "acme.json" storage = "acme.json"
[certificatesResolvers.lets-encrypt.acme.tlsChallenge] [certificatesResolvers.lets-encrypt.acme.tlsChallenge]
[tracing]
[accessLog]
filePath = "/access.log"
EOF EOF
destination = "/local/traefik.toml" destination = "/local/traefik.toml"
} }