Moves around monicahq to new format
Diff
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(-)
@@ -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"
@@ -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",
"APP_DISABLE_SIGNUP=false",
"LOG_CHANNEL=single",
"SENTRY_SUPPORT=false",
"CHECK_VERSION=true",
"REQUIRES_SUBSCRIPTION=false",
"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}"
}
@@ -1,10 +1,0 @@
resource "postgresql_database" "monica" {
name = "monica"
owner = "monica"
}
resource "postgresql_role" "monica" {
name = "monica"
login = true
password = "${var.db-password}"
}
@@ -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",
"APP_DISABLE_SIGNUP=false",
"LOG_CHANNEL=single",
"SENTRY_SUPPORT=false",
"CHECK_VERSION=true",
"REQUIRES_SUBSCRIPTION=false",
"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
}
@@ -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" {}