Airsonic is back
This commit is contained in:
parent
937da3dec7
commit
8bb05fec66
|
@ -1,38 +1 @@
|
||||||
# resource "docker_container" "airsonic" {
|
|
||||||
# name = "airsonic"
|
|
||||||
# image = "${docker_image.airsonic.latest}"
|
|
||||||
# restart = "unless-stopped"
|
|
||||||
# destroy_grace_seconds = 30
|
|
||||||
# must_run = true
|
|
||||||
# memory = 800
|
|
||||||
# volumes {
|
|
||||||
# host_path = "/mnt/xwing/config/airsonic/data"
|
|
||||||
# container_path = "/config"
|
|
||||||
# }
|
|
||||||
# volumes {
|
|
||||||
# host_path = "/mnt/xwing/media/Music"
|
|
||||||
# container_path = "/music"
|
|
||||||
# }
|
|
||||||
# volumes {
|
|
||||||
# host_path = "/mnt/xwing/config/airsonic/playlists"
|
|
||||||
# container_path = "/playlists"
|
|
||||||
# }
|
|
||||||
# volumes {
|
|
||||||
# host_path = "/mnt/xwing/config/airsonic/podcasts"
|
|
||||||
# container_path = "/podcasts"
|
|
||||||
# }
|
|
||||||
# labels {
|
|
||||||
# "traefik.enable" = "true"
|
|
||||||
# "traefik.port" = "4040"
|
|
||||||
# "traefik.frontend.rule" = "Host:airsonic.in.${var.domain},airsonic.${var.domain}"
|
|
||||||
# "traefik.frontend.passHostHeader" = "true"
|
|
||||||
# }
|
|
||||||
# # lounge:tatooine
|
|
||||||
# env = [
|
|
||||||
# "PUID=1004",
|
|
||||||
# "PGID=1003",
|
|
||||||
# "TZ=Asia/Kolkata",
|
|
||||||
# "CONTEXT_PATH=https://airsonic.bb8.fun",
|
|
||||||
# ]
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
|
@ -20,10 +20,6 @@ data "docker_registry_image" "traefik" {
|
||||||
name = "traefik:cancoillotte-alpine"
|
name = "traefik:cancoillotte-alpine"
|
||||||
}
|
}
|
||||||
|
|
||||||
data "docker_registry_image" "airsonic" {
|
|
||||||
name = "linuxserver/airsonic:latest"
|
|
||||||
}
|
|
||||||
|
|
||||||
data "docker_registry_image" "wikijs" {
|
data "docker_registry_image" "wikijs" {
|
||||||
name = "requarks/wiki:latest"
|
name = "requarks/wiki:latest"
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,11 +18,6 @@ resource "docker_image" "traefik" {
|
||||||
pull_triggers = ["${data.docker_registry_image.traefik.sha256_digest}"]
|
pull_triggers = ["${data.docker_registry_image.traefik.sha256_digest}"]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "docker_image" "airsonic" {
|
|
||||||
name = "${data.docker_registry_image.airsonic.name}"
|
|
||||||
pull_triggers = ["${data.docker_registry_image.airsonic.sha256_digest}"]
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "docker_image" "wikijs" {
|
resource "docker_image" "wikijs" {
|
||||||
name = "${data.docker_registry_image.wikijs.name}"
|
name = "${data.docker_registry_image.wikijs.name}"
|
||||||
pull_triggers = ["${data.docker_registry_image.wikijs.sha256_digest}"]
|
pull_triggers = ["${data.docker_registry_image.wikijs.sha256_digest}"]
|
||||||
|
|
13
main.tf
13
main.tf
|
@ -50,11 +50,14 @@ module "tt-rss" {
|
||||||
}
|
}
|
||||||
|
|
||||||
module "media" {
|
module "media" {
|
||||||
source = "media"
|
source = "media"
|
||||||
domain = "bb8.fun"
|
domain = "bb8.fun"
|
||||||
links-emby = "${module.docker.names-emby}"
|
links-emby = "${module.docker.names-emby}"
|
||||||
links-transmission = "${module.docker.names-transmission}"
|
links-transmission = "${module.docker.names-transmission}"
|
||||||
traefik-labels = "${var.traefik-common-labels}"
|
links-mariadb = "${module.docker.names-mariadb}"
|
||||||
|
traefik-labels = "${var.traefik-common-labels}"
|
||||||
|
airsonic-smtp-password = "${var.airsonic-smtp-password}"
|
||||||
|
airsonic-db-password = "${var.mysql_airsonic_password}"
|
||||||
}
|
}
|
||||||
|
|
||||||
module "monitoring" {
|
module "monitoring" {
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
resource "docker_container" "airsonic" {
|
||||||
|
name = "airsonic"
|
||||||
|
image = "${docker_image.airsonic.latest}"
|
||||||
|
restart = "unless-stopped"
|
||||||
|
destroy_grace_seconds = 30
|
||||||
|
must_run = true
|
||||||
|
|
||||||
|
upload {
|
||||||
|
content = "${data.template_file.airsonic-properties-file.rendered}"
|
||||||
|
file = "/usr/lib/jvm/java-1.8-openjdk/jre/lib/airsonic.properties"
|
||||||
|
}
|
||||||
|
|
||||||
|
volumes {
|
||||||
|
host_path = "/mnt/xwing/config/airsonic/data"
|
||||||
|
container_path = "/config"
|
||||||
|
}
|
||||||
|
|
||||||
|
volumes {
|
||||||
|
host_path = "/mnt/xwing/media/Music"
|
||||||
|
container_path = "/music"
|
||||||
|
}
|
||||||
|
|
||||||
|
volumes {
|
||||||
|
host_path = "/mnt/xwing/config/airsonic/playlists"
|
||||||
|
container_path = "/playlists"
|
||||||
|
}
|
||||||
|
|
||||||
|
volumes {
|
||||||
|
host_path = "/mnt/xwing/config/airsonic/podcasts"
|
||||||
|
container_path = "/podcasts"
|
||||||
|
}
|
||||||
|
|
||||||
|
labels {
|
||||||
|
"traefik.enable" = "true"
|
||||||
|
"traefik.port" = "4040"
|
||||||
|
"traefik.frontend.rule" = "Host:airsonic.in.${var.domain},airsonic.${var.domain}"
|
||||||
|
"traefik.frontend.passHostHeader" = "true"
|
||||||
|
}
|
||||||
|
|
||||||
|
# lounge:tatooine
|
||||||
|
env = [
|
||||||
|
"PUID=1004",
|
||||||
|
"PGID=1003",
|
||||||
|
"TZ=Asia/Kolkata",
|
||||||
|
]
|
||||||
|
|
||||||
|
links = ["${var.links-mariadb}"]
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "docker_image" "airsonic" {
|
||||||
|
name = "${data.docker_registry_image.airsonic.name}"
|
||||||
|
pull_triggers = ["${data.docker_registry_image.airsonic.sha256_digest}"]
|
||||||
|
}
|
||||||
|
|
||||||
|
data "docker_registry_image" "airsonic" {
|
||||||
|
name = "linuxserver/airsonic:latest"
|
||||||
|
}
|
||||||
|
|
||||||
|
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}"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
MediaLibraryStatistics=1512 4850 62662 486912890569 15485585
|
||||||
|
IndexString=A B C D E F G H I J K L M N O P Q R S T U V W X-Z(XYZ)
|
||||||
|
IgnoredArticles=The El La Los Las Le Les
|
||||||
|
Shortcuts=New Incoming Podcast
|
||||||
|
PlaylistFolder=/var/playlists
|
||||||
|
MusicFileTypes=mp3 ogg oga aac m4a flac wav wma aif aiff ape mpc shn
|
||||||
|
VideoFileTypes=flv avi mpg mpeg mp4 m4v mkv mov wmv ogv divx m2ts
|
||||||
|
CoverArtFileTypes2=cover.jpg cover.png cover.gif folder.jpg jpg jpeg gif png
|
||||||
|
SortAlbumsByYear=true
|
||||||
|
GettingStartedEnabled=false
|
||||||
|
WelcomeTitle=Airsonic
|
||||||
|
WelcomeSubtitle=
|
||||||
|
WelcomeMessage2=
|
||||||
|
LoginMessage=
|
||||||
|
Theme=default
|
||||||
|
LocaleLanguage=en
|
||||||
|
LocaleCountry=in
|
||||||
|
LocaleVariant=
|
||||||
|
IndexCreationInterval=3
|
||||||
|
IndexCreationHour=3
|
||||||
|
FastCacheEnabled=false
|
||||||
|
OrganizeByFolderStructure=true
|
||||||
|
DownloadBitrateLimit=0
|
||||||
|
UploadBitrateLimit=0
|
||||||
|
LdapEnabled=false
|
||||||
|
LdapUrl=ldap://host.domain.com:389/cn=Users,dc=domain,dc=com
|
||||||
|
LdapSearchFilter=(sAMAccountName={0})
|
||||||
|
LdapManagerDn=
|
||||||
|
LdapAutoShadowing=false
|
||||||
|
SmtpServer=smtp.mailgun.com
|
||||||
|
SmtpEncryption=SSL/TLS
|
||||||
|
SmtpPort=465
|
||||||
|
SmtpUser=airsonic@captnemo.in
|
||||||
|
SmtpFrom=airsonic@captnemo.in
|
||||||
|
SmtpPassword=${smtp-password}
|
||||||
|
|
||||||
|
DatabaseConfigType=embed
|
||||||
|
DatabaseConfigEmbedDriver=org.hsqldb.jdbcDriver
|
||||||
|
DatabaseConfigEmbedUrl=jdbc:mysql://mariadb:3306/airsonic
|
||||||
|
DatabaseConfigEmbedUsername=airsonic
|
||||||
|
DatabaseConfigEmbedPassword=${db-password}
|
|
@ -4,6 +4,9 @@ variable "domain" {
|
||||||
|
|
||||||
variable "links-emby" {}
|
variable "links-emby" {}
|
||||||
variable "links-transmission" {}
|
variable "links-transmission" {}
|
||||||
|
variable "links-mariadb" {}
|
||||||
|
variable "airsonic-smtp-password" {}
|
||||||
|
variable "airsonic-db-password" {}
|
||||||
|
|
||||||
variable "traefik-labels" {
|
variable "traefik-labels" {
|
||||||
type = "map"
|
type = "map"
|
||||||
|
|
|
@ -27,7 +27,7 @@ resource docker_container "prometheus" {
|
||||||
"${docker_container.nodeexporter.name}",
|
"${docker_container.nodeexporter.name}",
|
||||||
"${docker_container.cadvisor.name}",
|
"${docker_container.cadvisor.name}",
|
||||||
"${docker_container.transmission-exporter.name}",
|
"${docker_container.transmission-exporter.name}",
|
||||||
"${var.links-traefik}"
|
"${var.links-traefik}",
|
||||||
]
|
]
|
||||||
|
|
||||||
restart = "unless-stopped"
|
restart = "unless-stopped"
|
||||||
|
|
|
@ -45,6 +45,7 @@ variable "gitea-secret-key" {}
|
||||||
variable "gitea-internal-token" {}
|
variable "gitea-internal-token" {}
|
||||||
variable "gitea-smtp-password" {}
|
variable "gitea-smtp-password" {}
|
||||||
variable "digitalocean-token" {}
|
variable "digitalocean-token" {}
|
||||||
|
variable "airsonic-smtp-password" {}
|
||||||
|
|
||||||
variable "traefik-common-labels" {
|
variable "traefik-common-labels" {
|
||||||
type = "map"
|
type = "map"
|
||||||
|
|
Loading…
Reference in New Issue