radicale: Migrate to container module

This commit is contained in:
Nemo 2018-08-21 08:58:10 +05:30
parent 2f08ef00a4
commit 840ce49e98
3 changed files with 32 additions and 48 deletions

View File

@ -56,7 +56,6 @@ module "opml" {
module "radicale" {
source = "radicale"
domain = "radicale.bb8.fun"
traefik-labels = "${var.traefik-common-labels}"
traefik-network-id = "${module.docker.traefik-network-id}"
}

View File

@ -1,50 +1,39 @@
data "docker_registry_image" "radicale" {
name = "tomsquest/docker-radicale:latest"
}
module "container" {
name = "radicale"
source = "../modules/container"
image = "tomsquest/docker-radicale:latest"
resource "docker_image" "radicale" {
name = "${data.docker_registry_image.radicale.name}"
pull_triggers = ["${data.docker_registry_image.radicale.sha256_digest}"]
}
resource "docker_container" "radicale" {
name = "radicale"
image = "${docker_image.radicale.latest}"
labels = "${merge(
var.traefik-labels, map(
"traefik.port", 5232,
"traefik.frontend.rule","Host:${var.domain}"
))}"
volumes {
host_path = "/mnt/xwing/data/radicale"
container_path = "/data"
web {
expose = true
port = 5232
host = "${var.domain}"
}
volumes {
host_path = "/mnt/xwing/config/radicale"
container_path = "/config"
}
volumes = [
{
host_path = "/mnt/xwing/data/radicale"
container_path = "/data"
},
{
host_path = "/mnt/xwing/config/radicale"
container_path = "/config"
},
]
upload {
content = "${file("${path.module}/config")}"
file = "/config/config"
}
upload {
content = "${file("${path.module}/logging.conf")}"
file = "/config/logging"
}
upload {
content = "${file("${path.module}/users")}"
file = "/config/users"
}
uploads = [
{
content = "${file("${path.module}/config")}"
file = "/config/config"
},
{
content = "${file("${path.module}/logging.conf")}"
file = "/config/logging"
},
{
content = "${file("${path.module}/users")}"
file = "/config/users"
},
]
networks = ["${var.traefik-network-id}"]
restart = "unless-stopped"
destroy_grace_seconds = 10
must_run = true
}

View File

@ -2,8 +2,4 @@ variable "domain" {
type = "string"
}
variable "traefik-labels" {
type = "map"
}
variable "traefik-network-id" {}