Migrates monicahq to postgres

This commit is contained in:
Nemo 2018-07-21 13:01:20 +05:30
parent 97ff4a28a5
commit aa7c9047e9
4 changed files with 27 additions and 27 deletions

16
main.tf
View File

@ -87,13 +87,15 @@ module "rss-bridge" {
} }
module "monicahq" { module "monicahq" {
source = "monicahq" source = "monicahq"
domain = "monica.bb8.fun" domain = "monica.bb8.fun"
db-password = "${var.monica-db-password}" db-password = "${var.monica-db-password}"
app-key = "${var.monica-app-key}" app-key = "${var.monica-app-key}"
hash-salt = "${var.monica-hash-salt}" hash-salt = "${var.monica-hash-salt}"
smtp-password = "${var.monica-smtp-password}" smtp-password = "${var.monica-smtp-password}"
traefik-labels = "${var.traefik-common-labels}" traefik-labels = "${var.traefik-common-labels}"
traefik-network-id = "${module.docker.traefik-network-id}"
postgres-network-id = "${module.db.postgres-network-id}"
} }
module "requestbin" { module "requestbin" {

View File

@ -1,16 +1,10 @@
resource "mysql_database" "monica" { resource "postgresql_database" "monica" {
name = "monica" name = "monica"
owner = "monica"
} }
resource "mysql_user" "monica" { resource "postgresql_role" "monica" {
user = "monica" name = "monica"
host = "%" login = true
plaintext_password = "${var.db-password}" 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"]
} }

View File

@ -17,7 +17,7 @@ resource "docker_container" "monica" {
"traefik.frontend.rule","Host:${var.domain}" "traefik.frontend.rule","Host:${var.domain}"
))}" ))}"
links = ["mariadb"] networks = ["${var.traefik-network-id}", "${var.postgres-network-id}"]
env = [ env = [
"APP_ENV=production", "APP_ENV=production",
@ -26,11 +26,11 @@ resource "docker_container" "monica" {
"HASH_SALT=${var.hash-salt}", "HASH_SALT=${var.hash-salt}",
"HASH_LENGTH=18", "HASH_LENGTH=18",
"APP_URL=https://${var.domain}", "APP_URL=https://${var.domain}",
"DB_CONNECTION=mysql", "DB_CONNECTION=pgsql",
"DB_HOST=mariadb", "DB_HOST=postgres",
"DB_PORT=3306", "DB_DATABASE=monica",
"DB_DATABASE=${mysql_database.monica.name}", "DB_PORT=5432",
"DB_USERNAME=${mysql_user.monica.user}", "DB_USERNAME=monica",
"DB_PASSWORD=${var.db-password}", "DB_PASSWORD=${var.db-password}",
"DB_PREFIX=", "DB_PREFIX=",
"MAIL_DRIVER=smtp", "MAIL_DRIVER=smtp",
@ -47,7 +47,7 @@ resource "docker_container" "monica" {
# Ability to disable signups on your instance. # Ability to disable signups on your instance.
# Can be true or false. Default to false. # Can be true or false. Default to false.
"APP_DISABLE_SIGNUP=true", "APP_DISABLE_SIGNUP=false",
"LOG_CHANNEL=single", "LOG_CHANNEL=single",
"SENTRY_SUPPORT=false", "SENTRY_SUPPORT=false",
@ -63,6 +63,7 @@ resource "docker_container" "monica" {
"DEFAULT_FILESYSTEM=public", "DEFAULT_FILESYSTEM=public",
"2FA_ENABLED=true", "2FA_ENABLED=true",
"ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false", "ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false",
"APP_TRUSTED_PROXIES=*",
] ]
restart = "unless-stopped" restart = "unless-stopped"

View File

@ -10,3 +10,6 @@ variable "smtp-password" {}
variable "traefik-labels" { variable "traefik-labels" {
type = "map" type = "map"
} }
variable "traefik-network-id" {}
variable "postgres-network-id" {}