services = { "acme_dns" = { name = "acme_dns" host = "node003" dns = [{ domain = "serguzim.me" target = "acme" }] monitoring = { url = "/health" group = "7-support" } auth = false database = true s3 = false }, "authentik" = { name = "authentik" host = "node002" 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 = "node003" 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 }, mailcow = { name = "mailcow" host = "node003" dns = [{ domain = "serguzim.me" target = "mail" }] backup = [{ name = "mailcow" 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 = "node003" 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" }] backup = [{ name = "teamspeak-fallback-data" type = "docker" }] auth = false database = false s3 = false } "telegraf" = { name = "telegraf" host = "node003" auth = false database = true s3 = false }, "tinytinyrss" = { name = "tinytinyrss" host = "node003" dns = [{ domain = "serguzim.me" target = "rss" }] monitoring = { url = "/tt-rss/" group = "4-services" } auth = false database = true s3 = false }, "umami" = { name = "umami" host = "node003" 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 }, "webhook" = { name = "webhook" host = "node003" dns = [{ domain = "serguzim.me" target = "hook" }] monitoring = { group = "7-support" } auth = false database = false s3 = false }, "wiki_js" = { name = "wiki_js" host = "node003" 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 } }