monicaHQ
This commit is contained in:
parent
3ab14e79e5
commit
97ff4a28a5
10
main.tf
10
main.tf
|
@ -86,6 +86,16 @@ module "rss-bridge" {
|
||||||
traefik-network-id = "${module.docker.traefik-network-id}"
|
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}"
|
||||||
|
}
|
||||||
|
|
||||||
module "requestbin" {
|
module "requestbin" {
|
||||||
source = "requestbin"
|
source = "requestbin"
|
||||||
domain = "requestbin.bb8.fun"
|
domain = "requestbin.bb8.fun"
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
resource "mysql_database" "monica" {
|
||||||
|
name = "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"]
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
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}"
|
||||||
|
))}"
|
||||||
|
|
||||||
|
links = ["mariadb"]
|
||||||
|
|
||||||
|
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=mysql",
|
||||||
|
"DB_HOST=mariadb",
|
||||||
|
"DB_PORT=3306",
|
||||||
|
"DB_DATABASE=${mysql_database.monica.name}",
|
||||||
|
"DB_USERNAME=${mysql_user.monica.user}",
|
||||||
|
"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=true",
|
||||||
|
|
||||||
|
"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",
|
||||||
|
]
|
||||||
|
|
||||||
|
restart = "unless-stopped"
|
||||||
|
destroy_grace_seconds = 10
|
||||||
|
must_run = true
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
variable "domain" {
|
||||||
|
type = "string"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "db-password" {}
|
||||||
|
variable "app-key" {}
|
||||||
|
variable "hash-salt" {}
|
||||||
|
variable "smtp-password" {}
|
||||||
|
|
||||||
|
variable "traefik-labels" {
|
||||||
|
type = "map"
|
||||||
|
}
|
|
@ -73,3 +73,8 @@ variable "timemachine-password-1" {}
|
||||||
variable "opml-github-client-id" {}
|
variable "opml-github-client-id" {}
|
||||||
variable "opml-github-client-secret" {}
|
variable "opml-github-client-secret" {}
|
||||||
variable "miniflux-db-password" {}
|
variable "miniflux-db-password" {}
|
||||||
|
|
||||||
|
variable "monica-db-password" {}
|
||||||
|
variable "monica-app-key" {}
|
||||||
|
variable "monica-hash-salt" {}
|
||||||
|
variable "monica-smtp-password" {}
|
||||||
|
|
Loading…
Reference in New Issue