aboutsummaryrefslogtreecommitdiff
path: root/terraform/unifi-controller/mongo.tf
diff options
context:
space:
mode:
Diffstat (limited to 'terraform/unifi-controller/mongo.tf')
-rw-r--r--terraform/unifi-controller/mongo.tf51
1 files changed, 51 insertions, 0 deletions
diff --git a/terraform/unifi-controller/mongo.tf b/terraform/unifi-controller/mongo.tf
new file mode 100644
index 0000000..f7c1950
--- /dev/null
+++ b/terraform/unifi-controller/mongo.tf
@@ -0,0 +1,51 @@
+# resource "docker_network" "unifi" {
+# name = "unifi"
+# }
+
+data "docker_registry_image" "mongo" {
+ name = local.docker_image_mongo
+}
+
+resource "docker_image" "mongo" {
+ name = data.docker_registry_image.mongo.name
+ pull_triggers = [data.docker_registry_image.mongo.sha256_digest]
+}
+
+resource "docker_volume" "unifi-mongo" {
+ name = "unifi-mongo"
+}
+
+resource "docker_container" "unifi-mongo" {
+ image = docker_image.mongo.image_id
+ name = "unifi-mongo"
+ hostname = "unifi-mongo"
+
+# networks_advanced {
+# name = docker_network.unifi.name
+# }
+
+ network_mode = "host"
+
+ volumes {
+ volume_name = docker_volume.unifi-mongo.name
+ read_only = false
+ container_path = "/data/db"
+ }
+}
+
+output "mongo_init_js" {
+ sensitive = true
+ value = <<-EOF
+ db.getSiblingDB("${local.mongo_database}").
+ createUser({
+ user: "${local.mongo_database}",
+ pwd: "${local.mongo_password}",
+ roles: [{role: "dbOwner", db: "${local.mongo_database}"}]});
+
+ db.getSiblingDB("${local.mongo_database}_stat").
+ createUser({
+ user: "${local.mongo_database}",
+ pwd: "${local.mongo_password}",
+ roles: [{role: "dbOwner", db: "${local.mongo_database}_stat"}]});
+ EOF
+}