add MQTT job
This commit is contained in:
parent
6ee2ec0ecd
commit
7f9c734981
133
nomad-job/MQTT.nomad
Normal file
133
nomad-job/MQTT.nomad
Normal file
@ -0,0 +1,133 @@
|
||||
|
||||
job "MQTT" {
|
||||
datacenters = ["homelab"]
|
||||
priority = 50
|
||||
type = "service"
|
||||
meta {
|
||||
forcedeploy = "0"
|
||||
}
|
||||
constraint {
|
||||
attribute = "${attr.unique.hostname}"
|
||||
value = "oscar"
|
||||
}
|
||||
|
||||
group "MQTT"{
|
||||
network {
|
||||
mode = "host"
|
||||
port "zigbee2mqtt" {
|
||||
to = 8090
|
||||
}
|
||||
port "mosquittoMQTT" {
|
||||
static= 1883
|
||||
to = 1883
|
||||
}
|
||||
port "mosquittoWS" {
|
||||
to = 9001
|
||||
static = 9001
|
||||
}
|
||||
}
|
||||
task "mosquitto" {
|
||||
driver = "docker"
|
||||
service {
|
||||
name = "mosquitto"
|
||||
port = "mosquittoMQTT"
|
||||
tags = [
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "eclipse-mosquitto"
|
||||
ports = ["mosquittoWS","mosquittoMQTT"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/mosquitto:/mosquitto/data",
|
||||
"local/mosquitto.conf:/mosquitto/config/mosquitto.conf"
|
||||
]
|
||||
|
||||
}
|
||||
env {
|
||||
TZ = "Europe/Paris"
|
||||
}
|
||||
template {
|
||||
data= <<EOH
|
||||
persistence false
|
||||
log_dest stdout
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
connection_messages true
|
||||
EOH
|
||||
destination = "local/mosquitto.conf"
|
||||
}
|
||||
resources {
|
||||
memory = 100
|
||||
}
|
||||
}
|
||||
task "Zigbee2MQTT" {
|
||||
driver = "docker"
|
||||
service {
|
||||
name = "Zigbee2MQTT"
|
||||
port = "zigbee2mqtt"
|
||||
tags = [
|
||||
"homer.enable=true",
|
||||
"homer.name=zigbee.mqtt",
|
||||
"homer.service=Application",
|
||||
"homer.logo=https://www.zigbee2mqtt.io/logo.png",
|
||||
"homer.target=_blank",
|
||||
"homer.url=http://${NOMAD_ADDR_zigbee2mqtt}",
|
||||
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "koenkk/zigbee2mqtt"
|
||||
privileged= true
|
||||
ports = ["zigbee2mqtt"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/zigbee2mqtt:/app/data",
|
||||
"local/configuration.yaml:/app/data/configuration.yaml",
|
||||
"/run/udev:/run/udev",
|
||||
"/dev/ttyACM0:/dev/ttyACM0",
|
||||
]
|
||||
|
||||
}
|
||||
env {
|
||||
TZ = "Europe/Paris"
|
||||
}
|
||||
|
||||
template {
|
||||
data= <<EOH
|
||||
# MQTT settings
|
||||
mqtt:
|
||||
# MQTT base topic for Zigbee2MQTT MQTT messages
|
||||
base_topic: zigbee2mqtt
|
||||
# MQTT server URL
|
||||
server: 'mqtt://{{env "NOMAD_ADDR_mosquittoMQTT"}}'
|
||||
# MQTT server authentication, uncomment if required:
|
||||
# user: my_user
|
||||
# password: my_password
|
||||
frontend:
|
||||
port: 8090
|
||||
homeassistant: true
|
||||
devices:
|
||||
'0x00158d00027bf710':
|
||||
friendly_name: remote_chambre
|
||||
'0x00158d0003fabc52':
|
||||
friendly_name: weather_chambre
|
||||
'0x00158d0003cd381c':
|
||||
friendly_name: weather_exterieur
|
||||
'0x00158d00036d5fe8':
|
||||
friendly_name: motion_sensor_chambre
|
||||
|
||||
|
||||
|
||||
# Serial settings
|
||||
serial:
|
||||
# Location of the adapter (see first step of this guide)
|
||||
adapter: deconz
|
||||
port: /dev/ttyACM0
|
||||
EOH
|
||||
destination = "local/configuration.yaml"
|
||||
}
|
||||
resources {
|
||||
memory = 175
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user