95 lines
1.8 KiB
HCL
95 lines
1.8 KiB
HCL
# 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"
|
|
}
|
|
}
|