From fa787e084adc8f75c03e1c79179bce28b4da4222 Mon Sep 17 00:00:00 2001
From: Nemo <me@captnemo.in>
Date: Tue, 19 Feb 2019 00:38:48 +0530
Subject: [PATCH] files in airsonic

---
 main.tf                   | 11 +++++++----
 media/airsonic.tf         | 40 ++++++++++++++++++++++++++--------------
 media/variables.tf        |  1 +
 modules/container/main.tf |  2 ++
 modules/container/vars.tf |  4 ++++
 5 files changed, 32 insertions(+), 26 deletions(-)

diff --git a/main.tf b/main.tf
index 1329e2f..a9e9a8c 100644
--- a/main.tf
+++ a/main.tf
@@ -67,11 +67,12 @@
 }
 
 module "media" {
-  source             = "media"
-  domain             = "bb8.fun"
-  traefik-labels     = "${var.traefik-common-labels}"
-  ips                = "${var.ips}"
-  traefik-network-id = "${module.docker.traefik-network-id}"
+  source                 = "media"
+  domain                 = "bb8.fun"
+  traefik-labels         = "${var.traefik-common-labels}"
+  ips                    = "${var.ips}"
+  traefik-network-id     = "${module.docker.traefik-network-id}"
+  airsonic-smtp-password = "notvalid"
 }
 
 module "monitoring" {
diff --git a/media/airsonic.tf b/media/airsonic.tf
index 8de3640..a4f25d2 100644
--- a/media/airsonic.tf
+++ a/media/airsonic.tf
@@ -1,10 +1,11 @@
 module "airsonic" {
   source = "../modules/container"
   image  = "linuxserver/airsonic:latest"
   name   = "airsonic"
 
   resource {
-    memory = "1024"
+    memory      = "1024"
+    memory_swap = "1024"
   }
 
   web {
@@ -25,16 +26,16 @@
     container_path = "/dev/snd"
   }]
 
-  # files = [
-  #   "/usr/lib/jvm/java-1.8-openjdk/jre/lib/airsonic.properties",
-  #   "/usr/lib/jvm/java-1.8-openjdk/jre/lib/sound.properties",
-  # ]
-
-
-  # contents = [
-  #   "${data.template_file.airsonic-properties-file.rendered}",
-  #   "${file("${path.module}/conf/airsonic.sound.properties")}",
-  # ]
+  uploads = [
+    {
+      content = "${data.template_file.airsonic-properties-file.rendered}"
+      file    = "/usr/lib/jvm/java-1.8-openjdk/jre/lib/airsonic.properties"
+    },
+    {
+      content = "${file("${path.module}/conf/airsonic.sound.properties")}"
+      file    = "/usr/lib/jvm/java-1.8-openjdk/jre/lib/sound.properties"
+    },
+  ]
 
   volumes = [
     {
@@ -59,16 +60,13 @@
     },
   ]
 }
-
-# data "template_file" "airsonic-properties-file" {
-#   template = "${file("${path.module}/conf/airsonic.properties.tpl")}"
-
 
-#   vars {
-#     smtp-password = "${var.airsonic-smtp-password}"
+data "template_file" "airsonic-properties-file" {
+  template = "${file("${path.module}/conf/airsonic.properties.tpl")}"
 
+  vars {
+    smtp-password = "${var.airsonic-smtp-password}"
 
-#     # db-password   = "${var.airsonic-db-password}"
-#   }
-# }
-
+    # db-password   = "${var.airsonic-db-password}"
+  }
+}
diff --git a/media/variables.tf b/media/variables.tf
index 1d66838..c8dcbb7 100644
--- a/media/variables.tf
+++ a/media/variables.tf
@@ -18,3 +18,4 @@
 }
 
 variable "traefik-network-id" {}
+variable "airsonic-smtp-password" {}
diff --git a/modules/container/main.tf b/modules/container/main.tf
index 248bb55..3ce692e 100644
--- a/modules/container/main.tf
+++ a/modules/container/main.tf
@@ -23,6 +23,8 @@
 
   network_mode = "bridge"
 
+  upload = ["${var.uploads}"]
+
   // Only attach the traefik network if
   // service is exposed to the web
   networks = ["${concat(var.networks,compact(split(",",lookup(var.web, "expose", "false") == "false" ? "" :"${data.docker_network.traefik.id}")))}"]
diff --git a/modules/container/vars.tf b/modules/container/vars.tf
index b77fda6..80e0f6f 100644
--- a/modules/container/vars.tf
+++ a/modules/container/vars.tf
@@ -94,3 +94,7 @@
   type        = "list"
   default     = []
 }
+
+variable "uploads" {
+  default = []
+}
--
rgit 0.1.5