Changes for OPML-gen deployment
Diff
main.tf | 8 ++++++++
variables.tf | 3 +++
opml/data.tf | 7 +++++++
opml/main.tf | 28 ++++++++++++++++++++++++++++
opml/network.tf | 4 ++++
opml/redis.tf | 21 +++++++++++++++++++++
opml/variables.tf | 7 +++++++
7 files changed, 78 insertions(+)
@@ -53,6 +53,14 @@
mysql-password = "${var.gitea-mysql-password}"
}
module "opml" {
source = "opml"
domain = "opml.bb8.fun"
client-id = "${var.opml-github-client-id}"
client-secret = "${var.opml-github-client-secret}"
traefik-labels = "${var.traefik-common-labels}"
}
module "radicale" {
source = "radicale"
domain = "radicale.bb8.fun"
@@ -72,3 +72,6 @@
variable "timemachine-password-2" {}
variable "timemachine-password-1" {}
variable "opml-github-client-id" {}
variable "opml-github-client-secret" {}
@@ -1,0 +1,7 @@
data "docker_registry_image" "opml" {
name = "captn3m0/opml-gen:latest"
}
data "docker_registry_image" "redis" {
name = "redis:alpine"
}
@@ -1,0 +1,28 @@
resource "docker_container" "opml" {
name = "opml"
image = "${docker_image.opml.latest}"
labels = "${merge(
var.traefik-labels, map(
"traefik.port", 80,
"traefik.frontend.rule","Host:${var.domain}"
))}"
env = [
"GITHUB_CLIENT_ID=${var.client-id}",
"GITHUB_CLIENT_SECRET=${var.client-secret}",
"REDIS_URL=redis://opml-redis:6379/1",
]
memory = 256
restart = "unless-stopped"
destroy_grace_seconds = 10
must_run = true
networks = ["${docker_network.opml.id}"]
}
resource "docker_image" "opml" {
name = "${data.docker_registry_image.opml.name}"
pull_triggers = ["${data.docker_registry_image.opml.sha256_digest}"]
}
@@ -1,0 +1,4 @@
resource "docker_network" "opml" {
name = "opml"
driver = "bridge"
}
@@ -1,0 +1,21 @@
resource "docker_container" "redis" {
name = "opml-redis"
image = "${docker_image.redis.latest}"
volumes {
host_path = "/mnt/xwing/cache/opml-redis"
container_path = "/data"
}
memory = 256
restart = "unless-stopped"
destroy_grace_seconds = 10
must_run = true
networks = ["${docker_network.opml.id}"]
}
resource "docker_image" "redis" {
name = "${data.docker_registry_image.redis.name}"
pull_triggers = ["${data.docker_registry_image.redis.sha256_digest}"]
}
@@ -1,0 +1,7 @@
variable "traefik-labels" {
type = "map"
}
variable "domain" {}
variable "client-id" {}
variable "client-secret" {}