From b3700eb982f8ab0f7d345e5bb81112156c1357b2 Mon Sep 17 00:00:00 2001 From: Jan Koppe Date: Wed, 6 Nov 2024 15:12:42 +0100 Subject: [PATCH] move hedgedoc to pad.chaoswest.tv; switch to sqlite after mysql imploded --- modules/swarm/hedgedoc/main.tf | 53 +++++++--------------------------- 1 file changed, 10 insertions(+), 43 deletions(-) diff --git a/modules/swarm/hedgedoc/main.tf b/modules/swarm/hedgedoc/main.tf index e10fdad..4781e3e 100644 --- a/modules/swarm/hedgedoc/main.tf +++ b/modules/swarm/hedgedoc/main.tf @@ -2,10 +2,6 @@ data "docker_registry_image" "hedgedoc" { name = "quay.io/hedgedoc/hedgedoc:1.9.9" } -data "docker_registry_image" "hedgedoc_mysql" { - name = "mysql:8" -} - data "docker_network" "traefik" { name = "traefik" } @@ -20,8 +16,6 @@ resource "docker_network" "hedgedoc" { } } - - locals { labels = { "shepherd.auto-update" = "true", @@ -31,40 +25,8 @@ locals { "traefik.http.routers.hedgedoc.tls" = "true", "traefik.http.routers.hedgedoc.tls.certresolver" = "default", "traefik.http.routers.hedgedoc.middlewares" = "hedgedoc-redirect", - "traefik.http.middlewares.hedgedoc-redirect.redirectregex.regex" = "^https://pad.chaoswest.tv/(.*)", - "traefik.http.middlewares.hedgedoc-redirect.redirectregex.replacement" = "https://pad.montage2.de/$$${1}", # double escaping is necessary here - } -} - -resource "docker_service" "hedgedoc_mysql" { - name = "hedgedoc-mysql" - - task_spec { - networks_advanced { - name = docker_network.hedgedoc.id - } - - container_spec { - image = "${data.docker_registry_image.hedgedoc_mysql.name}@${data.docker_registry_image.hedgedoc_mysql.sha256_digest}" - - args = [ - "--character-set-server=utf8mb4", - "--collation-server=utf8mb4_unicode_ci" - ] - - env = { - MYSQL_RANDOM_ROOT_PASSWORD = "1", - MYSQL_DATABASE = "hedgedoc", - MYSQL_USER = "hedgedoc", - MYSQL_PASSWORD = "hedgedoc", - } - - mounts { - target = "/var/lib/mysql/" - source = "/mnt/data/pad/mysql/" - type = "bind" - } - } + "traefik.http.middlewares.hedgedoc-redirect.redirectregex.regex" = "^https://pad.montage2.de/(.*)", + "traefik.http.middlewares.hedgedoc-redirect.redirectregex.replacement" = "https://pad.chaoswest.tv/$$${1}", # double escaping is necessary here } } @@ -94,14 +56,13 @@ resource "docker_service" "hedgedoc" { env = merge({ for k, v in var.secrets : k => v }, { - CMD_DB_URL = "mysql://hedgedoc:hedgedoc@hedgedoc-mysql:3306/hedgedoc", - CMD_DOMAIN = "pad.montage2.de", + CMD_DB_URL = "sqlite:/hedgedoc/db/hedgedoc.sqlite", + CMD_DOMAIN = "pad.chaoswest.tv", CMD_URL_ADDPORT = "false", CMD_PROTOCOL_USESSL = "true", CMD_EMAIL = "false", CMD_ALLOW_EMAIL_REGISTER = "false", CMD_ALLOW_FREEURL = "true", - CMD_GITLAB_BASEURL = "https://gitlab.montage2.de", CMD_OAUTH2_PROVIDERNAME = "authentik", CMD_OAUTH2_SCOPE = "openid email profile", CMD_OAUTH2_USER_PROFILE_URL = "https://authentik.montage2.de/application/o/userinfo/", @@ -112,6 +73,12 @@ resource "docker_service" "hedgedoc" { CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR = "email", }) + mounts { + target = "/hedgedoc/db" + source = "/mnt/data/pad/db" + type = "bind" + } + mounts { target = "/hedgedoc/public/uploads" source = "/mnt/data/pad/uploads"