variable "flake_ref" { type = string } variable "flake_sha" { type = string } variable "store_path" { type = string } job "matrix-mautrix-slack" { datacenters = [ "homelab-1" ] type = "service" group "mautrix-slack" { count = 1 volume "matrix-mautrix-slack" { type = "csi" source = "matrix-mautrix-slack" read_only = false attachment_mode = "file-system" access_mode = "single-node-writer" } volume "matrix-registrations" { type = "csi" source = "matrix-registrations" read_only = false attachment_mode = "file-system" access_mode = "multi-node-multi-writer" } restart { attempts = 5 delay = "5s" } network { mode = "bridge" } service { name = "matrix-mautrix-slack" port = "29335" # check { # type = "http" # address_mode = "alloc" # path = "/public" # port = "29319" # interval = "2s" # timeout = "2s" # } connect { sidecar_service { proxy { upstreams { destination_name = "matrix-postgresql" local_bind_port = 5432 } } } } } task "mautrix-slack" { driver = "docker" volume_mount { volume = "matrix-mautrix-slack" destination = "/var/lib/mautrix-slack" read_only = false } volume_mount { volume = "matrix-registrations" destination = "/var/lib/registrations" read_only = false } config { nix_flake_ref = "${var.flake_ref}#nixngConfigurations.mautrixSlack.config.system.build.toplevel" nix_flake_sha = var.flake_sha nix_flake_store_path = var.store_path entrypoint = [ "init" ] } vault { policies = ["matrix-mautrix-slack-policy"] } template { data = <