# module "nextcloud" { # source = "./nextcloud" # # depends_on = [module.databases] # } module "backups" { source = "./backups" depends_on = [module.databases] } module "media" { source = "./media" } resource "nomad_job" "immich" { hcl2 { enabled = true } # depends_on = [nomad_job.postgres-server, nomad_job.redis] jobspec = file("${path.module}/immich.nomad") } resource "nomad_job" "whoami" { hcl2 { enabled = true vars = { "count" = 1, # "count" = "${2 * length(data.consul_service.nomad.service)}", } } jobspec = file("${path.module}/whoami.nomad") } module "sonarr" { source = "./levant" template_path = "service.nomad" variables = { name = "sonarr" image = "linuxserver/sonarr" service_port = 8989 ingress = true env = jsonencode({ PGID = 100 PUID = 1001 }) host_volumes = jsonencode([ { name = "tv-sonarr" dest = "/srv/volumes/media-write/TV Shows" read_only = false }, { name = "download" dest = "/srv/volumes/download" read_only = false }, ]) } } resource "consul_service" "homeassistant" { name = "hass" node = consul_node.homeassistant.name port = 8123 tags = [ "traefik.enable=true", "traefik.consulcatalog.connect=false", "traefik.http.routers.hass.entryPoints=websecure", ] check { check_id = "homeassistant:hass" status = "passing" name = "Home Assistant Health Check" http = "192.168.3.65:8123" interval = "30s" timeout = "10s" } } resource "consul_node" "homeassistant" { name = "homeassistant" address = "192.168.3.65" meta = { "external-node" = "true" "external-probe" = "true" } }