From aa7c9047e9d0ed0d7ec941b8b81f1a3243ed10d0 Mon Sep 17 00:00:00 2001 From: Nemo Date: Sat, 21 Jul 2018 13:01:20 +0530 Subject: [PATCH] Migrates monicahq to postgres --- main.tf | 16 +++++++++------- monicahq/db.tf | 20 +++++++------------- monicahq/main.tf | 15 ++++++++------- monicahq/variables.tf | 3 +++ 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/main.tf b/main.tf index bb7f780..ffa3665 100644 --- a/main.tf +++ b/main.tf @@ -87,13 +87,15 @@ module "rss-bridge" { } module "monicahq" { - source = "monicahq" - domain = "monica.bb8.fun" - db-password = "${var.monica-db-password}" - app-key = "${var.monica-app-key}" - hash-salt = "${var.monica-hash-salt}" - smtp-password = "${var.monica-smtp-password}" - traefik-labels = "${var.traefik-common-labels}" + source = "monicahq" + domain = "monica.bb8.fun" + db-password = "${var.monica-db-password}" + app-key = "${var.monica-app-key}" + hash-salt = "${var.monica-hash-salt}" + smtp-password = "${var.monica-smtp-password}" + traefik-labels = "${var.traefik-common-labels}" + traefik-network-id = "${module.docker.traefik-network-id}" + postgres-network-id = "${module.db.postgres-network-id}" } module "requestbin" { diff --git a/monicahq/db.tf b/monicahq/db.tf index 72c499c..05af336 100644 --- a/monicahq/db.tf +++ b/monicahq/db.tf @@ -1,16 +1,10 @@ -resource "mysql_database" "monica" { - name = "monica" +resource "postgresql_database" "monica" { + name = "monica" + owner = "monica" } -resource "mysql_user" "monica" { - user = "monica" - host = "%" - plaintext_password = "${var.db-password}" -} - -resource "mysql_grant" "monica" { - user = "${mysql_user.monica.user}" - host = "${mysql_user.monica.host}" - database = "${mysql_database.monica.name}" - privileges = ["ALL"] +resource "postgresql_role" "monica" { + name = "monica" + login = true + password = "${var.db-password}" } diff --git a/monicahq/main.tf b/monicahq/main.tf index bbdc737..3c70d37 100644 --- a/monicahq/main.tf +++ b/monicahq/main.tf @@ -17,7 +17,7 @@ resource "docker_container" "monica" { "traefik.frontend.rule","Host:${var.domain}" ))}" - links = ["mariadb"] + networks = ["${var.traefik-network-id}", "${var.postgres-network-id}"] env = [ "APP_ENV=production", @@ -26,11 +26,11 @@ resource "docker_container" "monica" { "HASH_SALT=${var.hash-salt}", "HASH_LENGTH=18", "APP_URL=https://${var.domain}", - "DB_CONNECTION=mysql", - "DB_HOST=mariadb", - "DB_PORT=3306", - "DB_DATABASE=${mysql_database.monica.name}", - "DB_USERNAME=${mysql_user.monica.user}", + "DB_CONNECTION=pgsql", + "DB_HOST=postgres", + "DB_DATABASE=monica", + "DB_PORT=5432", + "DB_USERNAME=monica", "DB_PASSWORD=${var.db-password}", "DB_PREFIX=", "MAIL_DRIVER=smtp", @@ -47,7 +47,7 @@ resource "docker_container" "monica" { # Ability to disable signups on your instance. # Can be true or false. Default to false. - "APP_DISABLE_SIGNUP=true", + "APP_DISABLE_SIGNUP=false", "LOG_CHANNEL=single", "SENTRY_SUPPORT=false", @@ -63,6 +63,7 @@ resource "docker_container" "monica" { "DEFAULT_FILESYSTEM=public", "2FA_ENABLED=true", "ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false", + "APP_TRUSTED_PROXIES=*", ] restart = "unless-stopped" diff --git a/monicahq/variables.tf b/monicahq/variables.tf index 9a66f22..d5bd06c 100644 --- a/monicahq/variables.tf +++ b/monicahq/variables.tf @@ -10,3 +10,6 @@ variable "smtp-password" {} variable "traefik-labels" { type = "map" } + +variable "traefik-network-id" {} +variable "postgres-network-id" {}