Create a new airsonic database
Diff
main.tf | 11 +++++++----
variables.tf | 2 ++
docker/main.tf | 6 +++---
monitoring/transmission.tf | 2 +-
mysql/main.tf | 18 ++++++++++++++++++
mysql/variables.tf | 4 ++++
6 files changed, 34 insertions(+), 9 deletions(-)
@@ -5,11 +5,12 @@
}
module "mysql" {
source = "mysql"
mysql_root_password = "${var.mysql_root_password}"
mysql_lychee_password = "${var.mysql_lychee_password}"
mysql_kodi_password = "${var.mysql_kodi_password}"
lychee_ip = "${module.docker.lychee-ip}"
source = "mysql"
mysql_root_password = "${var.mysql_root_password}"
mysql_lychee_password = "${var.mysql_lychee_password}"
mysql_airsonic_password = "${var.mysql_airsonic_password}"
mysql_kodi_password = "${var.mysql_kodi_password}"
lychee_ip = "${module.docker.lychee-ip}"
}
module "docker" {
@@ -17,6 +17,8 @@
variable "mysql_lychee_password" {}
variable "mysql_airsonic_password" {}
variable "mysql_kodi_password" {}
variable "wiki_session_secret" {
@@ -157,9 +157,9 @@
}
labels {
"traefik.enable" = "true"
"traefik.port" = "4040"
"traefik.frontend.rule" = "Host:airsonic.in.${var.domain},airsonic.${var.domain}"
"traefik.enable" = "true"
"traefik.port" = "4040"
"traefik.frontend.rule" = "Host:airsonic.in.${var.domain},airsonic.${var.domain}"
"traefik.frontend.passHostHeader" = "true"
}
@@ -7,7 +7,7 @@
links = ["transmission"]
env = [
"TRANSMISSION_ADDR=http://transmission:9091"
"TRANSMISSION_ADDR=http://transmission:9091",
]
restart = "unless-stopped"
@@ -17,3 +17,21 @@
database = "${mysql_database.lychee.name}"
privileges = ["ALL"]
}
resource "mysql_database" "airsonic" {
name = "airsonic"
}
resource "mysql_user" "airsonic" {
user = "airsonic"
host = "%"
plaintext_password = "${var.mysql_airsonic_password}"
}
resource "mysql_grant" "airsonic" {
user = "${mysql_user.airsonic.user}"
host = "${mysql_user.airsonic.host}"
database = "${mysql_database.airsonic.name}"
privileges = ["ALL"]
}
@@ -6,6 +6,10 @@
type = "string"
}
variable "mysql_airsonic_password" {
type = "string"
}
variable "mysql_kodi_password" {
type = "string"
}