diff --git a/abstruse/main.tf b/abstruse/main.tf new file mode 100644 index 0000000..1813069 --- /dev/null +++ b/abstruse/main.tf @@ -0,0 +1,33 @@ +data "docker_registry_image" "abstruse" { + name = "bleenco/abstruse" +} + +resource "docker_image" "abstruse" { + name = "${data.docker_registry_image.abstruse.name}" + pull_triggers = ["${data.docker_registry_image.abstruse.sha256_digest}"] +} + +resource "docker_container" "abstruse" { + name = "abstruse" + image = "${docker_image.abstruse.latest}" + + labels = "${merge( + var.traefik-labels, map( + "traefik.port", 6500, + "traefik.frontend.rule","Host:${var.domain}" + ))}" + + volumes { + host_path = "/var/run/docker.sock" + container_path = "/var/run/docker.sock" + } + + volumes { + host_path = "/mnt/xwing/config/abstruse" + container_path = "/root/.abstruse" + } + + restart = "unless-stopped" + destroy_grace_seconds = 60 + must_run = true +} diff --git a/abstruse/variables.tf b/abstruse/variables.tf new file mode 100644 index 0000000..a214480 --- /dev/null +++ b/abstruse/variables.tf @@ -0,0 +1,7 @@ +variable "domain" { + description = "domain to be used by traefik" +} + +variable "traefik-labels" { + type = "map" +} diff --git a/docker/data.tf b/docker/data.tf index adf2f83..7e2d53b 100644 --- a/docker/data.tf +++ b/docker/data.tf @@ -8,6 +8,12 @@ data "docker_registry_image" "percona-mongodb-server" { name = "percona/percona-server-mongodb:3.4" } +data "docker_registry_image" "traefik" { + # Critical and I like upgrading it + # for updating config for new features + name = "traefik:1.6" +} + # YOLO everything else data "docker_registry_image" "emby" { name = "emby/embyserver:latest" @@ -17,11 +23,6 @@ data "docker_registry_image" "transmission" { name = "linuxserver/transmission:latest" } -data "docker_registry_image" "traefik" { - # Critical and I like upgrading it - name = "traefik:1.6" -} - data "docker_registry_image" "wikijs" { name = "requarks/wiki:latest" } diff --git a/main.tf b/main.tf index 14bdff2..d6875d7 100644 --- a/main.tf +++ b/main.tf @@ -98,3 +98,9 @@ module "monitoring" { module "digitalocean" { source = "digitalocean" } + +module "abstruse" { + source = "abstruse" + domain = "ci.bb8.fun" + traefik-labels = "${var.traefik-common-labels}" +}