# module "nextcloud" { # source = "./nextcloud" # # depends_on = [module.databases] # } module "backups" { source = "./backups" # In parent module # depends_on = [module.databases] } module "media" { source = "./media" } resource "nomad_job" "whoami" { hcl2 { enabled = true vars = { "count" = 1, # "count" = "${2 * length(data.consul_service.nomad.service)}", } } jobspec = file("${path.module}/whoami.nomad") } resource "nomad_job" "ipdvr" { jobspec = file("${path.module}/ip-dvr.nomad") } resource "consul_config_entry" "nzbget_intents" { depends_on = [nomad_job.ipdvr] name = "nzbget" kind = "service-intentions" config_json = jsonencode({ Sources = [ { Action = "allow" Name = "sonarr" Precedence = 9 Type = "consul" }, ] }) } # module "nzbget" { # source "./levant" # # template_path = "service.nomad" # variables = { # name = "nzbget" # image = "linuxserver/nzbget" # service_port = 6789 # ingress = true # env = jsonencode({ # PGID = 100 # PUID = 1001 # TZ = "America/Los_Angeles" # }) # host_volumes = jsonencode([ # { # name = "download" # dest = "/srv/volumes/download" # read_only = false # }, # ]) # } # } # # 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 # TZ = "America/Los_Angeles" # # }) # host_volumes = jsonencode([ # { # name = "sonarr-data" # dest = "/config" # read_only = false # }, # { # 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" } }