Compare commits
2 Commits
eb1a2ee38c
...
07aa059651
| Author | SHA1 | Date |
|---|---|---|
|
|
07aa059651 | |
|
|
c1197a4fba |
|
|
@ -1,45 +1,117 @@
|
|||
version: '3'
|
||||
# Create 3 node-red docker containers ready to operate behind traefik Reverse proxy
|
||||
|
||||
services:
|
||||
nodered1: #Nodered Docker container 1
|
||||
image: nodered/node-red-docker:latest
|
||||
restart: always
|
||||
user: root
|
||||
environment:
|
||||
- TZ= America/New_York
|
||||
networks:
|
||||
- web
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
volumes:
|
||||
- /home/simon/docker/noder_data/:/data # Do nor forget to set NR volumes
|
||||
ports:
|
||||
- "1882:1880"
|
||||
# Data persistency
|
||||
# sudo mkdir -p /srv/docker/grafana/data; chown 472:472 /srv/docker/grafana/data
|
||||
- "${DIR}/grafana:/var/lib/grafana"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.backend=nodered1"
|
||||
- "traefik.docker.network=web"
|
||||
- "traefik.frontend.rule=Host:node.docker.localhost"
|
||||
- "traefik.http.routers.grafana.rule=Host(`grafana.localhost`)"
|
||||
- "traefik.http.routers.grafana.entrypoints=web"
|
||||
- "traefik.http.services.grafana-service.loadbalancer.server.port=3000"
|
||||
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
restart: always
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
volumes:
|
||||
- ${DIR}/gitea:/data
|
||||
ports:
|
||||
- "2221:22"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.gitea.rule=Host(`gitea.localhost`)"
|
||||
- "traefik.http.routers.gitea.entrypoints=web"
|
||||
- "traefik.http.services.gitea-service.loadbalancer.server.port=3000"
|
||||
|
||||
|
||||
whoami:
|
||||
image: emilevauge/whoami
|
||||
# A container that exposes an API to show its IP address
|
||||
image: containous/whoami
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- "traefik.frontend.rule=Host:whoami.docker.localhost"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
|
||||
- "traefik.http.routers.whoami.entrypoints=web"
|
||||
|
||||
traefix: # Traefix docker compose start here
|
||||
image: traefik:alpine
|
||||
# command: --api --docker
|
||||
restart: always
|
||||
mqtt:
|
||||
image: eclipse-mosquitto
|
||||
container_name: mqtt
|
||||
ports:
|
||||
- "1885:1883"
|
||||
- "9001:9001"
|
||||
volumes:
|
||||
- "${DIR}/mosquitto/config:/mosquitto/config"
|
||||
- ${DIR}/mosquitto/data:/mosquitto/data
|
||||
- ${DIR}/mosquitto/log:/mosquitto/log
|
||||
labels:
|
||||
- "traefik.http.routers.mqtt.rule=Host(`mqtt.localhost`)"
|
||||
- "traefik.http.routers.mqtt.entrypoints=mqtt"
|
||||
- "traefik.http.services.mqtt-service.loadbalancer.server.port=9001"
|
||||
- "traefik.enable=true"
|
||||
|
||||
node-red:
|
||||
image: nodered/node-red:latest
|
||||
container_name: "node-red"
|
||||
environment:
|
||||
- TZ=Europe/Stockholm
|
||||
ports:
|
||||
- "1881:1880"
|
||||
#devices:
|
||||
#- /dev/ttyAMA0
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${DIR}/nodered:/data
|
||||
labels:
|
||||
- "traefik.http.routers.node-red.rule=Host(`node.localhost`)"
|
||||
- "traefik.http.routers.node-red.entrypoints=web"
|
||||
- "traefik.http.services.node-red-service.loadbalancer.server.port=1880"
|
||||
- "traefik.enable=true"
|
||||
|
||||
domoticz:
|
||||
image: linuxserver/domoticz
|
||||
container_name: domoticz
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Stockholm
|
||||
#- WEBROOT=domoticz #optional
|
||||
volumes:
|
||||
- ${DIR}/domoticz:/config
|
||||
ports:
|
||||
- 8081:8080
|
||||
#devices:
|
||||
#- path to device:path to device
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.http.routers.domo.rule=Host(`domo.localhost`)"
|
||||
- "traefik.http.routers.domo.entrypoints=web"
|
||||
- "traefik.http.services.domo-service.loadbalancer.server.port=8080"
|
||||
- "traefik.enable=true"
|
||||
|
||||
|
||||
reverse-proxy:
|
||||
# The official v2.0 Traefik docker image
|
||||
image: traefik:v2.0
|
||||
container_name: "traefik"
|
||||
ports:
|
||||
# The HTTP port
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- /docker/traefik:/etc/traefik
|
||||
networks:
|
||||
- web
|
||||
|
||||
networks:
|
||||
web:
|
||||
external: true
|
||||
|
||||
# So that Traefik can listen to the Docker events
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./traefik.yml:/etc/traefik/traefik.yml
|
||||
- ./static_config.yml:/etc/traefik/static_config.yml
|
||||
labels:
|
||||
- "traefik.http.routers.traefik.rule=Host(`tr.localhost`)"
|
||||
- "traefik.http.routers.traefik.entrypoints=web"
|
||||
- "traefik.http.services.traefik-service.loadbalancer.server.port=8080"
|
||||
- "traefik.enable=true"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
http:
|
||||
routers:
|
||||
test-router:
|
||||
rule: "Host(`test.localhost`)"
|
||||
service: my-service
|
||||
entryPoints:
|
||||
- web
|
||||
|
||||
services:
|
||||
my-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: https://milvert.com
|
||||
|
||||
15
traefik.toml
15
traefik.toml
|
|
@ -1,15 +0,0 @@
|
|||
logLevel = "DEBUG"
|
||||
defaultEntryPoints = ["http"]
|
||||
|
||||
[api]
|
||||
# Port for the status/dashboard page
|
||||
dashboard = true
|
||||
|
||||
[entryPoints]
|
||||
[entryPoints.http]
|
||||
address = ":80"
|
||||
|
||||
[docker]
|
||||
endpoint = "unix:///var/run/docker.sock"
|
||||
domain = "docker.localhost"
|
||||
exposedByDefault = false
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
log:
|
||||
level: DEBUG
|
||||
|
||||
api:
|
||||
insecure: true
|
||||
dashboard: true
|
||||
debug: true
|
||||
|
||||
|
||||
providers:
|
||||
docker:
|
||||
exposedbydefault: false
|
||||
|
||||
file:
|
||||
filename: "/etc/traefik/static_config.yml"
|
||||
watch: true
|
||||
|
||||
|
||||
|
||||
|
||||
entryPoints:
|
||||
web:
|
||||
address: ":80"
|
||||
mqtt:
|
||||
address: ":9001"
|
||||
Loading…
Reference in New Issue