diff --git a/media/jackett.tf b/media/jackett.tf index 1e72f7d..5325f08 100644 --- a/media/jackett.tf +++ b/media/jackett.tf @@ -11,10 +11,10 @@ module "jackett" { networks = ["${docker_network.media.id}", "${var.traefik-network-id}"] - volumes { + volumes = [{ host_path = "/mnt/xwing/config/jackett" container_path = "/config" - } + }] env = [ "PUID=1004", diff --git a/media/radarr.tf b/media/radarr.tf index ad0744c..8523927 100644 --- a/media/radarr.tf +++ b/media/radarr.tf @@ -1,48 +1,38 @@ -data "docker_registry_image" "radarr" { - name = "linuxserver/radarr:latest" -} +module "radarr" { + name = "radarr" + source = "../modules/container" + image = "linuxserver/radarr:latest" -resource "docker_image" "radarr" { - name = "${data.docker_registry_image.radarr.name}" - pull_triggers = ["${data.docker_registry_image.radarr.sha256_digest}"] -} - -resource "docker_container" "radarr" { - name = "radarr" - image = "${docker_image.radarr.latest}" - - # TODO: wildcard certs needed! - labels = "${merge( - var.traefik-labels, map( - "traefik.port", 7878, - "traefik.frontend.rule","Host:radarr.${var.domain}" - ))}" - - memory = 512 - restart = "unless-stopped" - destroy_grace_seconds = 10 - must_run = true - - volumes { - host_path = "/mnt/xwing/config/radarr" - container_path = "/config" + web { + expose = true + port = 7878 + host = "radarr.${var.domain}" } - volumes { - host_path = "/mnt/xwing/media/DL" - container_path = "/downloads" + resource { + memory = 512 } - volumes { - host_path = "/mnt/xwing/media/Movies" - container_path = "/movies" - } + networks = ["${docker_network.media.id}", "${var.traefik-network-id}"] + + volumes = [ + { + host_path = "/mnt/xwing/config/radarr" + container_path = "/config" + }, + { + host_path = "/mnt/xwing/media/DL" + container_path = "/downloads" + }, + { + host_path = "/mnt/xwing/media/Movies" + container_path = "/movies" + }, + ] env = [ "PUID=1004", "PGID=1003", "TZ=Asia/Kolkata", ] - - networks = ["${docker_network.media.id}", "${var.traefik-network-id}"] } diff --git a/modules/container/main.tf b/modules/container/main.tf index 1e37603..a1245fb 100644 --- a/modules/container/main.tf +++ b/modules/container/main.tf @@ -20,7 +20,7 @@ resource "docker_container" "container" { memory = "${local.resource["memory"]}" - volumes = ["${var.volumes}"] + volumes = "${var.volumes}" # Look at this monstrosity # And then https://github.com/hashicorp/terraform/issues/12453#issuecomment-365569618 diff --git a/modules/container/vars.tf b/modules/container/vars.tf index 6fb586f..0540ab0 100644 --- a/modules/container/vars.tf +++ b/modules/container/vars.tf @@ -85,5 +85,6 @@ variable "resource" { variable "volumes" { description = "volumes" - default = {} + type = "list" + default = [] }