Merge branch 'master' of milvert.com:simon/Docker
This commit is contained in:
commit
0d7b0e8128
|
|
@ -2,15 +2,39 @@ version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
milvert-nginx:
|
||||||
|
container_name: milvert-nginx
|
||||||
|
image: nginx:latest
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
#HTTPS
|
||||||
|
- "traefik.http.routers.milvert-secure.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.milvert-secure.rule=Host(`www.${DOMAIN}`, `${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.milvert-secure.priority=1"
|
||||||
|
# SSL
|
||||||
|
- "traefik.http.routers.milvert-secure.tls.certresolver=milvert"
|
||||||
|
- "traefik.http.routers.milvert-secure.tls=true"
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- "${DIR}/milvert-nginx/conf:/etc/nginx/conf.d"
|
||||||
|
- "${DIR}/milvert-nginx/html:/html"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
zigbee2mqtt:
|
zigbee2mqtt:
|
||||||
container_name: zigbee2mqtt
|
container_name: zigbee2mqtt
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
image: koenkk/zigbee2mqtt:1.6.0
|
image: koenkk/zigbee2mqtt:1.8.0
|
||||||
volumes:
|
volumes:
|
||||||
- ${DIR}/zigbee2matt:/app/data
|
- ${DIR}/zigbee2matt:/app/data
|
||||||
devices:
|
devices:
|
||||||
- /dev/ttyACM0:/dev/ttyACM0
|
- /dev/ttyACM-zigbee:/dev/ttyACM0
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Stockholm
|
- TZ=Europe/Stockholm
|
||||||
|
|
@ -57,17 +81,23 @@ services:
|
||||||
- backend
|
- backend
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- USER_UID=1000
|
- USER_UID=1001
|
||||||
- USER_GID=1000
|
- USER_GID=1005
|
||||||
volumes:
|
volumes:
|
||||||
|
#- /var/lib/gitea:/data
|
||||||
- ${DIR}/gitea:/data
|
- ${DIR}/gitea:/data
|
||||||
|
- /home/git/.ssh:/data/git/.ssh
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
ports:
|
ports:
|
||||||
- "2221:22"
|
- "127.0.0.1:2222:22"
|
||||||
|
- "3000:3000"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.gitea.rule=Host(`gitea.${DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.gitea.entrypoints=web"
|
|
||||||
- "traefik.http.services.gitea-service.loadbalancer.server.port=3000"
|
- "traefik.http.services.gitea-service.loadbalancer.server.port=3000"
|
||||||
|
- "traefik.http.routers.gitea-secure.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.gitea-secure.rule=Host(`gitea.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.gitea-secure.tls.certresolver=milvert"
|
||||||
|
|
||||||
|
|
||||||
whoami:
|
whoami:
|
||||||
|
|
@ -77,23 +107,22 @@ services:
|
||||||
- backend
|
- backend
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.whoami.rule=Host(`whoami.${DOMAIN}`)"
|
- "traefik.http.routers.whoami-secure.entrypoints=web-secure"
|
||||||
- "traefik.http.routers.whoami.entrypoints=web"
|
- "traefik.http.routers.whoami-secure.rule=Host(`whoami.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.whoami.entrypoints=web-secure"
|
- "traefik.http.routers.whoami-secure.tls.certresolver=milvert"
|
||||||
- "traefik.http.routers.whoami.tls.certresolver=sample"
|
|
||||||
|
|
||||||
mqtt:
|
mqtt:
|
||||||
image: eclipse-mosquitto:1.6.7
|
image: eclipse-mosquitto:1.6.8
|
||||||
container_name: mqtt
|
container_name: mqtt
|
||||||
networks:
|
networks:
|
||||||
- frontend
|
- frontend
|
||||||
- backend
|
- backend
|
||||||
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "1885:1883"
|
- "1883:1883"
|
||||||
- "9001:9001"
|
- "9001:9001"
|
||||||
volumes:
|
volumes:
|
||||||
- "${DIR}/mosquitto/config:/mosquitto/config"
|
- ./mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf
|
||||||
- ${DIR}/mosquitto/data:/mosquitto/data
|
- ${DIR}/mosquitto/data:/mosquitto/data
|
||||||
- ${DIR}/mosquitto/log:/mosquitto/log
|
- ${DIR}/mosquitto/log:/mosquitto/log
|
||||||
labels:
|
labels:
|
||||||
|
|
@ -118,9 +147,12 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- ${DIR}/nodered:/data
|
- ${DIR}/nodered:/data
|
||||||
labels:
|
labels:
|
||||||
- "traefik.http.routers.node-red.rule=Host(`node.${DOMAIN}`)"
|
- "traefik.http.routers.node-red.rule=Host(`nodered.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.node-red.entrypoints=web"
|
- "traefik.http.routers.node-red.entrypoints=web"
|
||||||
- "traefik.http.services.node-red-service.loadbalancer.server.port=1880"
|
- "traefik.http.services.node-red-service.loadbalancer.server.port=1880"
|
||||||
|
- "traefik.http.routers.node-red-secure.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.node-red-secure.rule=Host(`nodered.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.node-red-secure.tls.certresolver=milvert"
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
|
|
||||||
domoticz:
|
domoticz:
|
||||||
|
|
@ -149,7 +181,7 @@ services:
|
||||||
|
|
||||||
reverse-proxy:
|
reverse-proxy:
|
||||||
# The official v2.0 Traefik docker image
|
# The official v2.0 Traefik docker image
|
||||||
image: traefik:v2.0.2
|
image: traefik:v2.1
|
||||||
container_name: "traefik"
|
container_name: "traefik"
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
|
|
@ -157,21 +189,29 @@ services:
|
||||||
ports:
|
ports:
|
||||||
# The HTTP port
|
# The HTTP port
|
||||||
- "80:80"
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
volumes:
|
volumes:
|
||||||
# So that Traefik can listen to the Docker events
|
# So that Traefik can listen to the Docker events
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- ./traefik.yml:/etc/traefik/traefik.yml
|
- ./traefik.yml:/etc/traefik/traefik.yml
|
||||||
- ./static_config.yml:/etc/traefik/static_config.yml
|
- ./static_config.yml:/etc/traefik/static_config.yml
|
||||||
- ./acme.json:/acme.json
|
# - "./log.json:/etc/traefik/log.json"
|
||||||
- "./letsencrypt:/letsencrypt"
|
#- ./acme.json:/acme.json
|
||||||
|
- ./letsencrypt:/letsencrypt
|
||||||
|
dns:
|
||||||
|
- 8.8.8.8
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
- "traefik.http.routers.traefik.rule=Host(`tr.${DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.traefik.entrypoints=web"
|
|
||||||
- "traefik.http.services.traefik-service.loadbalancer.server.port=8080"
|
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.traefik.rule=Host(`tra.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.traefik-secure.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.traefik-secure.rule=Host(`tra.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.traefik-secure.tls.certresolver=milvert"
|
||||||
|
- "traefik.http.routers.traefik-secure.tls=true"
|
||||||
|
- "traefik.http.services.traefik-service.loadbalancer.server.port=8080"
|
||||||
|
- "traefik.http.routers.traefik-secure.middlewares=traefik-auth"
|
||||||
|
- "traefik.http.middlewares.traefik-auth.basicauth.users=simon:$$apr1$$o3vIe.DX$$3XExiBMe8rUo3HujDSYEo0"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
frontend:
|
frontend:
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
persistence true
|
persistence true
|
||||||
persistence_location /mosquitto/data/
|
persistence_location /mosquitto/data/
|
||||||
log_dest file /mosquitto/log/mosquitto.log
|
log_dest file /mosquitto/log/mosquitto.log
|
||||||
|
|
||||||
|
|
||||||
|
listener 1883
|
||||||
|
|
||||||
|
listener 9001
|
||||||
|
protocol websockets
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,66 @@
|
||||||
http:
|
http:
|
||||||
routers:
|
routers:
|
||||||
test-router:
|
lampa-router:
|
||||||
rule: "Host(`test.localhost`)"
|
rule: "Host(`lampa.milvert.com`)"
|
||||||
service: my-service
|
middlewares:
|
||||||
|
- redirect
|
||||||
|
service: lampa-service
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- web
|
- web
|
||||||
|
|
||||||
|
lampa-router:
|
||||||
|
rule: "Host(`lampa.milvert.com`)"
|
||||||
|
service: lampa-service
|
||||||
|
entryPoints:
|
||||||
|
- web-secure
|
||||||
|
tls:
|
||||||
|
certResolver: milvert
|
||||||
|
|
||||||
|
bitwarden-router:
|
||||||
|
rule: "Host(`bitwarden.milvert.com`)"
|
||||||
|
middlewares:
|
||||||
|
- redirect
|
||||||
|
service: bitwarden-service
|
||||||
|
entryPoints:
|
||||||
|
- web
|
||||||
|
|
||||||
|
bitwarden-router:
|
||||||
|
rule: "Host(`bitwarden.milvert.com`)"
|
||||||
|
service: bitwarden-service
|
||||||
|
entryPoints:
|
||||||
|
- web-secure
|
||||||
|
tls:
|
||||||
|
certResolver: milvert
|
||||||
|
|
||||||
|
redirect:
|
||||||
|
rule: "HostRegexp(`{host:.+}`)" # This catches all
|
||||||
|
middlewares:
|
||||||
|
- redirect
|
||||||
|
service: redirectfake-service
|
||||||
|
entryPoints:
|
||||||
|
- web
|
||||||
|
priority: 50
|
||||||
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
my-service:
|
lampa-service:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: https://milvert.com
|
- url: "http://10.0.0.3:8084"
|
||||||
|
|
||||||
|
bitwarden-service:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://10.0.0.3:5178"
|
||||||
|
|
||||||
|
redirectfake-service:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://fake"
|
||||||
|
|
||||||
|
middlewares:
|
||||||
|
redirect:
|
||||||
|
redirectScheme:
|
||||||
|
permanent: true
|
||||||
|
scheme: https
|
||||||
|
|
||||||
|
|
|
||||||
22
traefik.yml
22
traefik.yml
|
|
@ -1,12 +1,8 @@
|
||||||
log:
|
|
||||||
level: DEBUG
|
|
||||||
|
|
||||||
api:
|
api:
|
||||||
insecure: true
|
insecure: true
|
||||||
dashboard: true
|
dashboard: true
|
||||||
debug: true
|
debug: true
|
||||||
|
|
||||||
|
|
||||||
providers:
|
providers:
|
||||||
docker:
|
docker:
|
||||||
exposedbydefault: false
|
exposedbydefault: false
|
||||||
|
|
@ -15,21 +11,31 @@ providers:
|
||||||
filename: "/etc/traefik/static_config.yml"
|
filename: "/etc/traefik/static_config.yml"
|
||||||
watch: true
|
watch: true
|
||||||
|
|
||||||
|
log:
|
||||||
|
level: DEBUG
|
||||||
|
# filePath: /etc/traefik/log.json
|
||||||
|
# format: json
|
||||||
|
|
||||||
|
|
||||||
certificatesResolvers:
|
certificatesResolvers:
|
||||||
sample:
|
milvert:
|
||||||
acme:
|
acme:
|
||||||
email: simon@milvert.com
|
email: simon@milvert.com
|
||||||
storage: acme.json
|
storage: "/letsencrypt/acme.json"
|
||||||
httpChallenge:
|
httpChallenge:
|
||||||
# used during the challenge
|
|
||||||
entryPoint: web
|
entryPoint: web
|
||||||
|
tlsChallenge: {}
|
||||||
|
|
||||||
|
http:
|
||||||
|
middlewares:
|
||||||
|
redirect:
|
||||||
|
redirectScheme:
|
||||||
|
scheme: https
|
||||||
|
|
||||||
entryPoints:
|
entryPoints:
|
||||||
web:
|
web:
|
||||||
address: ":80"
|
address: ":80"
|
||||||
web-sercure:
|
web-secure:
|
||||||
address: ":443"
|
address: ":443"
|
||||||
mqtt:
|
mqtt:
|
||||||
address: ":9001"
|
address: ":9001"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
homeassistant: false
|
||||||
|
permit_join: true
|
||||||
|
mqtt:
|
||||||
|
base_topic: zigbee2mqtt
|
||||||
|
server: 'mqtt://mqtt:1883'
|
||||||
|
advanced:
|
||||||
|
log_level: debug
|
||||||
|
serial:
|
||||||
|
port: /dev/ttyACM0
|
||||||
|
devices:
|
||||||
|
'0xd0cf5efffef137e6':
|
||||||
|
friendly_name: '0xd0cf5efffef137e6'
|
||||||
|
retain: false
|
||||||
|
'0xd0cf5efffeffa12e':
|
||||||
|
friendly_name: '0xd0cf5efffeffa12e'
|
||||||
|
retain: false
|
||||||
|
'0x0017880106fca5e2':
|
||||||
|
friendly_name: Philips Lily 1
|
||||||
|
retain: false
|
||||||
|
'0x90fd9ffffe6e8fe2':
|
||||||
|
friendly_name: Arbetsrum gullampa
|
||||||
|
retain: false
|
||||||
|
'0x0017880106fc9e16':
|
||||||
|
friendly_name: Philips Lily 2
|
||||||
|
retain: false
|
||||||
|
'0x0017880106241299':
|
||||||
|
friendly_name: Philips Lily 3
|
||||||
|
retain: false
|
||||||
|
'0x001788010452ec91':
|
||||||
|
friendly_name: Philips Lily 4
|
||||||
|
retain: false
|
||||||
|
'0x000d6ffffe61e2f8':
|
||||||
|
friendly_name: '0x000d6ffffe61e2f8'
|
||||||
|
retain: false
|
||||||
|
'0xccccccfffe4c4499':
|
||||||
|
friendly_name: dimmer_unconnect
|
||||||
|
'0x14b457fffe6d87e8':
|
||||||
|
friendly_name: Kök_Multidimmer
|
||||||
|
'0x086bd7fffe5a6240':
|
||||||
|
friendly_name: Kök 1
|
||||||
|
'0xd0cf5efffed8c794':
|
||||||
|
friendly_name: Kök 6
|
||||||
|
'0x14b457fffe71f90e':
|
||||||
|
friendly_name: Kök 2
|
||||||
|
'0x14b457fffe71ee40':
|
||||||
|
friendly_name: Kök 3
|
||||||
|
'0x086bd7fffe54c813':
|
||||||
|
friendly_name: Kök 4
|
||||||
|
'0x086bd7fffe3b7eaa':
|
||||||
|
friendly_name: Kök 5
|
||||||
|
'0x086bd7fffe5302b2':
|
||||||
|
friendly_name: Kök 7
|
||||||
|
'0x14b457fffe334c7c':
|
||||||
|
friendly_name: Matrum_tak
|
||||||
|
'0xccccccfffe344cb3':
|
||||||
|
friendly_name: Matrum_dimmer
|
||||||
|
'0x086bd7fffe05e8ad':
|
||||||
|
friendly_name: Julstjärna arum
|
||||||
|
'0xd0cf5efffed9d643':
|
||||||
|
friendly_name: Julstjärna 2
|
||||||
|
'0x086bd7fffe38fe88':
|
||||||
|
friendly_name: Julstjärna 3
|
||||||
|
'0x00178801045185ad':
|
||||||
|
friendly_name: Philips Lily 5
|
||||||
|
groups:
|
||||||
|
'1':
|
||||||
|
friendly_name: Kök
|
||||||
|
retain: false
|
||||||
|
devices:
|
||||||
|
- '0x90fd9ffffe6e8fe2'
|
||||||
|
- '0x086bd7fffe5a6240'
|
||||||
|
- '0xd0cf5efffed8c794'
|
||||||
|
- '0x14b457fffe71f90e'
|
||||||
|
- '0x14b457fffe71ee40'
|
||||||
|
- '0x086bd7fffe54c813'
|
||||||
|
- '0x086bd7fffe3b7eaa'
|
||||||
|
- '0x086bd7fffe5302b2'
|
||||||
|
'2':
|
||||||
|
friendly_name: Matrum
|
||||||
|
retain: false
|
||||||
|
devices:
|
||||||
|
- '0x14b457fffe334c7c'
|
||||||
|
'57338':
|
||||||
|
friendly_name: Outdoor
|
||||||
|
retain: false
|
||||||
|
devices:
|
||||||
|
- '0x001788010452ec91'
|
||||||
|
- '0x0017880106241299'
|
||||||
|
- '0x0017880106fca5e2'
|
||||||
Loading…
Reference in New Issue