nebula/radicale/main.tf

55 lines
1.5 KiB
HCL

data "docker_registry_image" "radicale" {
name = "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 {
"traefik.port" = 5232
"traefik.enable" = "true"
"traefik.frontend.headers.SSLTemporaryRedirect" = "true"
"traefik.frontend.headers.STSSeconds" = "2592000"
"traefik.frontend.headers.STSIncludeSubdomains" = "false"
"traefik.frontend.headers.contentTypeNosniff" = "true"
"traefik.frontend.headers.browserXSSFilter" = "true"
"traefik.frontend.passHostHeader" = "true"
"traefik.frontend.rule" = "Host:${var.domain}"
}
volumes {
host_path = "/mnt/xwing/data/radicale"
container_path = "/data"
}
volumes {
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"
}
restart = "unless-stopped"
destroy_grace_seconds = 10
must_run = true
}