infrastructure/services.auto.tfvars
2024-10-14 03:30:59 +02:00

559 lines
10 KiB
HCL

services = {
"acme_dns" = {
name = "acme_dns"
host = "node001"
dns = [{
domain = "serguzim.me"
target = "acme"
}]
monitoring = {
url = "/health"
group = "7-support"
}
auth = false
database = true
s3 = false
},
"authentik" = {
name = "authentik"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "auth"
}]
monitoring = {
url = "/-/health/live/"
group = "4-services"
}
certificates = ["auth.serguzim.me"]
auth = false
database = true
s3 = false
},
"extra_services" = {
name = "extra_services"
host = "node001"
auth = false
database = false
s3 = false
},
"faas" = {
name = "faas"
host = "node002"
dns = [
{
domain = "serguzim.me"
target = "faas"
},
{
domain = "serguzim.me"
target = "@"
name = "webpage-serguzim"
alias = "faas"
},
{
domain = "serguzim.me"
target = "www"
name = "webpage-serguzim-www"
alias = "webpage-serguzim"
}
]
monitoring = {
url = "/healthz"
group = "7-support"
}
auth = false
database = false
s3 = false
},
"forgejo" = {
name = "forgejo"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "git"
}]
backup = [{
name = "forgejo_data"
type = "docker"
}]
monitoring = {
url = "/api/v1/version"
group = "4-services"
}
auth = true
auth_redirects = ["https://git.serguzim.me/user/oauth2/auth.serguzim.me/callback"]
database = true
s3 = true
},
"forgejo_runner" = {
name = "forgejo_runner"
host = "node003"
auth = false
database = false
s3 = false
},
"healthcheck" = {
name = "healthcheck"
host = "node003"
auth = false
database = false
s3 = false
},
"gatus" = {
name = "gatus"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "status"
}]
backup = [{
name = "gatus_data"
type = "docker"
}]
auth = true
auth_redirects = ["https://status.serguzim.me/authorization-code/callback"]
database = false
s3 = false
},
"homebox" = {
name = "homebox"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "inventory"
}]
backup = [{
name = "homebox_data"
type = "docker"
}]
monitoring = {
url = "/api/v1/status"
group = "4-services"
conditions = [
"DEFAULT",
"[BODY].health == true"
]
}
auth = false
database = false
s3 = false
},
"immich" = {
name = "immich"
host = "node002"
dns = [{
domain = "serguzim.me"
target = "gallery"
}]
backup = [
{
name = "immich_upload"
type = "docker"
},
{
name = "immich_database"
type = "hook"
}
]
monitoring = {
group = "4-services"
}
auth = true
auth_redirects = ["https://gallery.serguzim.me/auth/login"]
database = false
s3 = false
},
"influxdb" = {
name = "influxdb"
host = "node002"
dns = [{
domain = "serguzim.me"
target = "tick"
}]
backup = [{
name = "influxdb_data"
type = "docker"
}]
monitoring = {
url = "/health"
group = "4-services"
conditions = [
"DEFAULT",
"[BODY].status == pass"
]
}
auth = false
database = false
s3 = false
},
"jellyfin" = {
name = "jellyfin"
host = "node002"
dns = [{
domain = "serguzim.me"
target = "media"
}]
backup = [{
name = "jellyfin_config"
type = "docker"
}] # TODO add jellyfin_media
monitoring = {
url = "/health"
group = "4-services"
conditions = [
"DEFAULT",
"[BODY] == Healthy"
]
}
auth = false
database = false
s3 = false
},
"linkwarden" = {
name = "linkwarden"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "bookmarks"
}]
monitoring = {
url = "/api/v1/logins"
group = "4-services"
}
auth = true
auth_cert = "rsa"
auth_redirects = ["https://bookmarks.serguzim.me/api/v1/auth/callback/authentik"]
database = true
s3 = true
},
mailcowdockerized = {
name = "mailcowdockerized"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "mail"
}]
backup = [{
name = "mailcowdockerized"
type = "hook"
}]
monitoring = {
group = "4-services"
}
auth = false
database = false
s3 = false
},
"minio" = {
name = "minio"
host = "node002"
dns = [
{
domain = "serguzim.me"
target = "s3"
},
{
domain = "serguzim.me"
target = "console.s3"
name = "minio-console"
alias = "minio"
}
]
backup = [{
name = "minio_data"
type = "docker"
}]
monitoring = {
url = "/minio/health/live"
group = "7-support"
}
auth = true
auth_redirects = ["https://console.s3.serguzim.me/oauth_callback"]
database = false
s3 = false
},
"ntfy" = {
name = "ntfy"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "push"
}]
backup = [{
name = "ntfy_data"
type = "docker"
}]
monitoring = {
url = "/v1/health"
group = "4-services"
conditions = [
"DEFAULT",
"[BODY].healthy == true"
]
}
auth = false
database = false
s3 = false
},
"postgresql" = {
name = "postgresql"
host = "node002"
backup = [{
name = "postgresql"
type = "hook"
}]
monitoring = {
url = "tcp://db.serguzim.me:5432"
group = "7-support"
conditions = [
"[CONNECTED] == true"
]
}
certificates = ["db.serguzim.me"]
auth = false
database = false
s3 = false
},
"reitanlage_oranienburg" = {
name = "reitanlage_oranienburg"
host = "node003"
dns = [
{
domain = "reitanlage-oranienburg.de"
target = "@"
},
{
domain = "reitanlage-oranienburg.de"
target = "www"
name = "reitanlage_oranienburg-www"
alias = "reitanlage_oranienburg"
}
]
backup = [{
name = "reitanlage_oranienburg_data"
type = "docker"
}]
monitoring = {
group = "5-websites"
}
auth = false
database = false
s3 = false
},
"shlink" = {
name = "shlink"
host = "node001"
dns = [
{
domain = "msrg.cc"
target = "@"
},
{
domain = "msvg.cc"
target = "@"
name = "shlink-msvg"
alias = "shlink"
}
]
monitoring = {
url = "/rest/health"
group = "4-services"
conditions = [
"DEFAULT",
"[BODY].status == pass"
]
}
auth = false
database = true
s3 = false
},
"synapse" = {
name = "synapse"
host = "node003"
dns = [
{
domain = "serguzim.me"
target = "matrix"
},
{
domain = "msrg.cc"
target = "matrix"
name = "synapse-msrg"
alias = "synapse"
}
]
backup = [{
name = "synapse_media_store"
type = "docker"
}]
monitoring = {
url = "/_matrix/client/versions"
group = "4-services"
}
ports = ["8448:8448"]
auth = true
auth_redirects = ["https://matrix.serguzim.me/_synapse/client/oidc/callback"]
database = true
s3 = false
},
"tandoor" = {
name = "tandoor"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "recipes"
}]
backup = [{
name = "tandoor_mediafiles"
type = "docker"
}]
monitoring = {
url = "/accounts/login/"
group = "4-services"
}
auth = false
database = true
s3 = false
},
"teamspeak_fallback" = {
name = "teamspeak_fallback"
host = "node003"
dns = [
{
domain = "serguzim.me"
target = "ts"
},
{
domain = "serguzim.me"
target = "hook"
name = "teamspeak_fallback-hook"
alias = "teamspeak_fallback"
}
]
backup = [{
name = "teamspeak_fallback_data"
type = "docker"
}]
monitoring = {
group = "7-support"
}
auth = false
database = false
s3 = false
}
"telegraf" = {
name = "telegraf"
host = "node003"
auth = false
database = true
s3 = false
},
"tinytinyrss" = {
name = "tinytinyrss"
host = "node001"
dns = [{
domain = "serguzim.me"
target = "rss"
}]
monitoring = {
url = "/tt-rss/"
group = "4-services"
}
auth = false
database = true
s3 = false
},
"umami" = {
name = "umami"
host = "node001"
dns = [{
domain = "serguzim.me"
target = "analytics"
}]
monitoring = {
url = "/api/heartbeat"
group = "4-services"
}
auth = false
database = true
s3 = false
},
"vikunja" = {
name = "vikunja"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "todo"
}]
backup = [{
name = "vikunja_data"
type = "docker"
}]
monitoring = {
url = "/api/v1/info"
group = "4-services"
}
auth = true
auth_redirects = ["https://todo.serguzim.me/auth/openid/authserguzimme"]
database = true
s3 = false
},
"wiki_js" = {
name = "wiki_js"
host = "node001"
dns = [{
domain = "serguzim.me"
target = "wiki"
}]
monitoring = {
group = "4-services"
}
auth = true
auth_redirects = ["https://wiki.serguzim.me/login/f792bc7d-1a25-4437-944e-55eaf0111102/callback"]
database = true
s3 = false
},
"woodpecker" = {
name = "woodpecker"
host = "node003"
dns = [{
domain = "serguzim.me"
target = "ci"
}]
monitoring = {
url = "/healthz"
group = "4-services"
}
auth = false
database = true
s3 = false
}
}