From 1c75fe486b3b2b94c1ceb6d94adc607e1f5ea002 Mon Sep 17 00:00:00 2001 From: Nemo <me@captnemo.in> Date: Sat, 28 Jul 2018 20:26:29 +0530 Subject: [PATCH] Moves around monicahq to new format --- main.tf | 12 ------------ monicahq.tf | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ monicahq/db.tf | 10 ---------- monicahq/main.tf | 72 ------------------------------------------------------------------------ monicahq/variables.tf | 15 --------------- 5 files changed, 66 insertions(+), 109 deletions(-) diff --git a/main.tf b/main.tf index 792776f..a865440 100644 --- a/main.tf +++ a/main.tf @@ -68,18 +68,6 @@ traefik-network-id = "${module.docker.traefik-network-id}" } -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}" - traefik-network-id = "${module.docker.traefik-network-id}" - postgres-network-id = "${module.db.postgres-network-id}" -} - module "resilio" { source = "resilio" domain = "sync.bb8.fun" diff --git a/monicahq.tf b/monicahq.tf new file mode 100644 index 0000000..1ff2eae 100644 --- /dev/null +++ a/monicahq.tf @@ -1,0 +1,66 @@ +module "monicahq-container" { + name = "monica" + source = "modules/container" + image = "monicahq/monicahq:latest" + + labels = "${merge( + var.traefik-common-labels, map( + "traefik.port", 80, + "traefik.frontend.rule","Host:monica.${var.root-domain}" + ))}" + + networks = "${list(module.docker.traefik-network-id,module.db.postgres-network-id)}" + + env = [ + "APP_ENV=production", + "APP_DEBUG=false", + "APP_KEY=${var.monica-app-key}", + "HASH_SALT=${var.monica-hash-salt}", + "HASH_LENGTH=18", + "APP_URL=https://monica.${var.root-domain}", + "DB_CONNECTION=pgsql", + "DB_HOST=postgres", + "DB_DATABASE=monica", + "DB_PORT=5432", + "DB_USERNAME=monica", + "DB_PASSWORD=${var.monica-db-password}", + "DB_PREFIX=", + "MAIL_DRIVER=smtp", + "MAIL_HOST=smtp.mailgun.org", + "MAIL_PORT=587", + "MAIL_USERNAME=monica@captnemo.in", + "MAIL_PASSWORD=${var.monica-smtp-password}", + "MAIL_ENCRYPTION=tls", + "MAIL_FROM_ADDRESS=monica@captnemo.in", + "MAIL_FROM_NAME=Nemo", + "APP_EMAIL_NEW_USERS_NOTIFICATION=monica@captnemo.in", + "APP_DEFAULT_TIMEZONE=Asia/Kolkata", + "APP_DEFAULT_LOCALE=en", + + # Ability to disable signups on your instance. + # Can be true or false. Default to false. + "APP_DISABLE_SIGNUP=false", + + "LOG_CHANNEL=single", + "SENTRY_SUPPORT=false", + "CHECK_VERSION=true", + "REQUIRES_SUBSCRIPTION=false", + + # cache redis is not yet documented + "CACHE_DRIVER=database", + + "SESSION_DRIVER=file", + "SESSION_LIFETIME=120", + "QUEUE_DRIVER=sync", + "DEFAULT_FILESYSTEM=public", + "2FA_ENABLED=true", + "ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false", + "APP_TRUSTED_PROXIES=*", + ] +} + +module "monicahq-db" { + source = "modules/postgres" + name = "monica" + password = "${var.monica-db-password}" +} diff --git a/monicahq/db.tf b/monicahq/db.tf deleted file mode 100644 index 05af336..0000000 100644 --- a/monicahq/db.tf +++ /dev/null @@ -1,10 +1,0 @@ -resource "postgresql_database" "monica" { - name = "monica" - owner = "monica" -} - -resource "postgresql_role" "monica" { - name = "monica" - login = true - password = "${var.db-password}" -} diff --git a/monicahq/main.tf b/monicahq/main.tf deleted file mode 100644 index 3c70d37..0000000 100644 --- a/monicahq/main.tf +++ /dev/null @@ -1,72 +1,0 @@ -data "docker_registry_image" "monica" { - name = "monicahq/monicahq:latest" -} - -resource "docker_image" "monica" { - name = "${data.docker_registry_image.monica.name}" - pull_triggers = ["${data.docker_registry_image.monica.sha256_digest}"] -} - -resource "docker_container" "monica" { - name = "monica" - image = "${docker_image.monica.latest}" - - labels = "${merge( - var.traefik-labels, map( - "traefik.port", 80, - "traefik.frontend.rule","Host:${var.domain}" - ))}" - - networks = ["${var.traefik-network-id}", "${var.postgres-network-id}"] - - env = [ - "APP_ENV=production", - "APP_DEBUG=false", - "APP_KEY=${var.app-key}", - "HASH_SALT=${var.hash-salt}", - "HASH_LENGTH=18", - "APP_URL=https://${var.domain}", - "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", - "MAIL_HOST=smtp.mailgun.org", - "MAIL_PORT=587", - "MAIL_USERNAME=monica@captnemo.in", - "MAIL_PASSWORD=${var.smtp-password}", - "MAIL_ENCRYPTION=tls", - "MAIL_FROM_ADDRESS=monica@captnemo.in", - "MAIL_FROM_NAME=Nemo", - "APP_EMAIL_NEW_USERS_NOTIFICATION=monica@captnemo.in", - "APP_DEFAULT_TIMEZONE=Asia/Kolkata", - "APP_DEFAULT_LOCALE=en", - - # Ability to disable signups on your instance. - # Can be true or false. Default to false. - "APP_DISABLE_SIGNUP=false", - - "LOG_CHANNEL=single", - "SENTRY_SUPPORT=false", - "CHECK_VERSION=true", - "REQUIRES_SUBSCRIPTION=false", - - # cache redis is not yet documented - "CACHE_DRIVER=database", - - "SESSION_DRIVER=file", - "SESSION_LIFETIME=120", - "QUEUE_DRIVER=sync", - "DEFAULT_FILESYSTEM=public", - "2FA_ENABLED=true", - "ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false", - "APP_TRUSTED_PROXIES=*", - ] - - restart = "unless-stopped" - destroy_grace_seconds = 10 - must_run = true -} diff --git a/monicahq/variables.tf b/monicahq/variables.tf deleted file mode 100644 index d5bd06c..0000000 100644 --- a/monicahq/variables.tf +++ /dev/null @@ -1,15 +1,0 @@ -variable "domain" { - type = "string" -} - -variable "db-password" {} -variable "app-key" {} -variable "hash-salt" {} -variable "smtp-password" {} - -variable "traefik-labels" { - type = "map" -} - -variable "traefik-network-id" {} -variable "postgres-network-id" {} -- rgit 0.1.5