Skip to content

Commit

Permalink
More audio work
Browse files Browse the repository at this point in the history
Signed-off-by: dubo-dubon-duponey <dubodubonduponey+github@pm.me>
  • Loading branch information
dubo-dubon-duponey committed Oct 30, 2019
1 parent bb92978 commit 6022b44
Show file tree
Hide file tree
Showing 13 changed files with 327 additions and 767 deletions.
29 changes: 15 additions & 14 deletions services/defines.tf
Expand Up @@ -27,18 +27,18 @@ variable "afp_user" {
default = "dmp"
}

variable "airport_dac_server_name" {
description = "Name advertised by the dac airport server"
variable "airport_dac_name" {
description = "Name advertised by the Dacodac airport server"
default = "Totale Croquette"
}

variable "airport_nuc_server_name" {
description = "Name advertised by the nuc airport server"
variable "airport_nuc_name" {
description = "Name advertised by the Nucomedon airport server"
default = "Nucomedon"
}

variable "airport_nig_server_name" {
description = "Name advertised by the nig airport server"
variable "airport_nig_name" {
description = "Name advertised by the Nightingale airport server"
default = "Nightingale"
}

Expand Down Expand Up @@ -68,19 +68,20 @@ locals {

dac_ip = "192.168.1.7"
dac_fact_iface = "eth0"
dac_range = "192.168.1.20/28"
dac_range = "192.168.1.16/28"
dac_host = "dacodac"
dac_fact_user = "pi"

nig_ip = "192.168.1.9"
nig_fact_iface = "wlan0.1"
nig_range = "192.168.1.60/28"
nig_host = "nightingale"
nig_fact_user = "pi"

nuc_ip = "192.168.1.8"
nuc_fact_iface = "eno1"
nuc_range = "192.168.1.40/28"
nuc_range = "192.168.1.48/28"
nuc_host = "nucomedon"
nuc_fact_user = "dmp"

nig_ip = "192.168.1.9"
nig_fact_iface = "wlan0"
nig_range = "192.168.1.80/28"
nig_host = "nightingale"
nig_fact_user = "pi"

}
99 changes: 0 additions & 99 deletions services/images.tf
@@ -1,69 +1,3 @@
######################################################
# DNS
######################################################
resource "docker_image" "dns_nuc" {
provider = docker.nucomedon
name = data.docker_registry_image.dns.name
pull_triggers = [data.docker_registry_image.dns.sha256_digest]
}

resource "docker_image" "dns_dac" {
provider = docker.dacodac
name = data.docker_registry_image.dns.name
pull_triggers = [data.docker_registry_image.dns.sha256_digest]
}

resource "docker_image" "dns_nig" {
provider = docker.nightingale
name = data.docker_registry_image.dns.name
pull_triggers = [data.docker_registry_image.dns.sha256_digest]
}

######################################################
# Logger
######################################################
resource "docker_image" "logger_nuc" {
provider = docker.nucomedon
name = data.docker_registry_image.logger.name
pull_triggers = [data.docker_registry_image.logger.sha256_digest]
}

resource "docker_image" "logger_dac" {
provider = docker.dacodac
name = data.docker_registry_image.logger.name
pull_triggers = [data.docker_registry_image.logger.sha256_digest]
}

resource "docker_image" "logger_nig" {
provider = docker.nightingale
name = data.docker_registry_image.logger.name
pull_triggers = [data.docker_registry_image.logger.sha256_digest]
}

######################################################
# HomeKit volume control
######################################################
resource "docker_image" "homekit-alsa-dac" {
provider = docker.dacodac
name = data.docker_registry_image.homekit-alsa.name
pull_triggers = [
data.docker_registry_image.homekit-alsa.sha256_digest]
}

resource "docker_image" "homekit-alsa-nuc" {
provider = docker.nucomedon
name = data.docker_registry_image.homekit-alsa.name
pull_triggers = [
data.docker_registry_image.homekit-alsa.sha256_digest]
}

resource "docker_image" "homekit-alsa-nig" {
provider = docker.nightingale
name = data.docker_registry_image.homekit-alsa.name
pull_triggers = [
data.docker_registry_image.homekit-alsa.sha256_digest]
}

######################################################
# Homebridge (legacy for dyson)
######################################################
Expand Down Expand Up @@ -120,42 +54,9 @@ resource "docker_image" "home-share" {
pull_triggers = [data.docker_registry_image.home-share.sha256_digest]
}

######################################################
# Audio
######################################################
resource "docker_image" "airport-nucomedon" {
provider = docker.nucomedon
name = data.docker_registry_image.audio-airport.name
pull_triggers = [data.docker_registry_image.audio-airport.sha256_digest]
}

resource "docker_image" "airport-croquette" {
provider = docker.dacodac
name = data.docker_registry_image.audio-airport.name
pull_triggers = [data.docker_registry_image.audio-airport.sha256_digest]
}

resource "docker_image" "airport-nightingale" {
provider = docker.nightingale
name = data.docker_registry_image.audio-airport.name
pull_triggers = [data.docker_registry_image.audio-airport.sha256_digest]
}

resource "docker_image" "roon" {
provider = docker.nucomedon
name = data.docker_registry_image.audio-roon.name
pull_triggers = [data.docker_registry_image.audio-roon.sha256_digest]
}

resource "docker_image" "raat-dacodac" {
provider = docker.dacodac
name = data.docker_registry_image.audio-raat.name
pull_triggers = [data.docker_registry_image.audio-raat.sha256_digest]
}

resource "docker_image" "raat-nightingale" {
provider = docker.nightingale
name = data.docker_registry_image.audio-raat.name
pull_triggers = [data.docker_registry_image.audio-raat.sha256_digest]
}

45 changes: 7 additions & 38 deletions services/images_registry.tf
@@ -1,28 +1,19 @@
# System: router, logging
/*
data "docker_registry_image" "system-log" {
name = "dubodubonduponey/logspout:v1"
data "docker_registry_image" "router" {
name = "dubodubonduponey/caddy:v1"
}
*/

data "docker_registry_image" "logger" {
name = "dubodubonduponey/filebeat:v1"
data "docker_registry_image" "log-frontend" {
name = "dubodubonduponey/kibana:v1"
}

data "docker_registry_image" "dns" {
name = "dubodubonduponey/coredns:v1"
}

data "docker_registry_image" "router" {
name = "dubodubonduponey/caddy:v1"
}

data "docker_registry_image" "homekit-alsa" {
name = "dubodubonduponey/homekit-alsa:v1"
}



data "docker_registry_image" "log-backend" {
name = "dubodubonduponey/elastic:v1"
}

data "docker_registry_image" "homebridge" {
name = "dubodubonduponey/homebridge:v1"
Expand All @@ -32,19 +23,6 @@ data "docker_registry_image" "home-share" {
name = "dubodubonduponey/netatalk:v1"
}





# Audio stuff
data "docker_registry_image" "audio-airport" {
name = "dubodubonduponey/shairport-sync:v1"
}

data "docker_registry_image" "audio-raat" {
name = "dubodubonduponey/roon-bridge:v1"
}

data "docker_registry_image" "audio-roon" {
name = "dubodubonduponey/roon-server:v1"
}
Expand All @@ -54,15 +32,6 @@ data "docker_registry_image" "video-plex" {
name = "dubodubonduponey/plex:v1"
}

/*
data "docker_registry_image" "home-automation" {
name = "dubodubonduponey/hass:v1"
}
*/





#data "docker_registry_image" "video-plex" {
# name = "plexinc/pms-docker"
Expand Down
31 changes: 31 additions & 0 deletions services/modules/audio/images.tf
@@ -0,0 +1,31 @@
data "docker_registry_image" "airport" {
name = local.image_airport_server
}

resource "docker_image" "airport" {
provider = docker
name = data.docker_registry_image.airport.name
pull_triggers = [data.docker_registry_image.airport.sha256_digest]
}

data "docker_registry_image" "homekit-alsa" {
name = local.image_volume_control
}

resource "docker_image" "homekit-alsa" {
provider = docker
name = data.docker_registry_image.homekit-alsa.name
pull_triggers = [
data.docker_registry_image.homekit-alsa.sha256_digest]
}

data "docker_registry_image" "raat" {
name = local.image_raat_server
}

resource "docker_image" "raat" {
provider = docker
name = data.docker_registry_image.raat.name
pull_triggers = [data.docker_registry_image.raat.sha256_digest]
}

99 changes: 79 additions & 20 deletions services/modules/audio/main.tf
@@ -1,15 +1,5 @@
# Airport station
data "docker_registry_image" "audio-airport" {
name = local.image_airport_server
}

resource "docker_image" "airport" {
provider = docker
name = data.docker_registry_image.audio-airport.name
pull_triggers = [data.docker_registry_image.audio-airport.sha256_digest]
}

resource "docker_container" "airport-croquette" {
resource "docker_container" "airport" {
provider = docker
name = local.host_airport
image = docker_image.airport.latest
Expand All @@ -21,7 +11,9 @@ resource "docker_container" "airport-croquette" {
"co.elastic.logs/enabled": true,
}

env = ["NAME=${var.airport_name}"]
env = [
"NAME=${var.airport_name}"
]

devices {
host_path = "/dev/snd"
Expand All @@ -46,14 +38,81 @@ resource "docker_container" "airport-croquette" {
}

# Homekit volume control
data "docker_registry_image" "homekit-alsa" {
name = local.image_volume_control
}
resource "docker_container" "homekit-alsa" {
provider = docker
name = local.host_volume
image = docker_image.homekit-alsa.latest
hostname = "${local.host_volume}.${var.hostname}"

network_mode = var.network

labels = {
"co.elastic.logs/enabled": true,
}

env = [
"HOMEKIT_NAME=${var.airport_name}",
"HOMEKIT_PIN=14041976",
"ALSA_DEVICE=${var.alsa_device}",
]

# Required by the volume controller
devices {
host_path = "/dev/snd"
}

group_add = [
"audio"
]

resource "docker_image" "homekit-alsa" {
provider = docker
name = data.docker_registry_image.homekit-alsa.name
pull_triggers = [
data.docker_registry_image.homekit-alsa.sha256_digest]
dns = var.dns

restart = "always"
read_only = true

capabilities {
drop = [
"ALL"
]
}
}

# RAAT receiver
resource "docker_container" "raat" {
provider = docker
name = local.host_raat
image = docker_image.raat.latest
hostname = "${local.host_raat}.${var.hostname}"

network_mode = var.network

labels = {
"co.elastic.logs/enabled": true,
}

devices {
host_path = "/dev/snd"
}

group_add = [
"audio"
]

dns = var.dns

restart = "always"
read_only = true

capabilities {
drop = [
"ALL"
]
}

/* mounts {
target = "/var/roon"
source = "/home/data/config/roon"
read_only = false
type = "bind"
}*/
}

0 comments on commit 6022b44

Please sign in to comment.