Compare commits
4 Commits
master
...
refactor_d
| Author | SHA1 | Date |
|---|---|---|
|
|
d5c4b1e762 | |
|
|
0e695105eb | |
|
|
a5c26d09ed | |
|
|
fc41a56667 |
|
|
@ -0,0 +1,17 @@
|
|||
UID=1000
|
||||
GID=1000
|
||||
DIR=./data
|
||||
DOMAIN=localhost
|
||||
|
||||
|
||||
MYSQL_USERNAME=root
|
||||
MYSQL_PASSWORD=qwerty
|
||||
|
||||
POSTGRES_USER=root
|
||||
POSTGRES_PASSWORD=qwerty
|
||||
PGADMIN_DEFAULT_EMAIL=kalle@asd.com
|
||||
PGADMIN_DEFAULT_PASSWORD=bajsa
|
||||
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
TZ=Europe/Stockholm
|
||||
|
|
@ -2,6 +2,33 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:1.12
|
||||
container_name: gitea
|
||||
networks:
|
||||
- backend
|
||||
restart: always
|
||||
environment:
|
||||
- USER_UID=1001
|
||||
- USER_GID=1005
|
||||
volumes:
|
||||
#- /var/lib/gitea:/data
|
||||
- ${DIR}/gitea:/data
|
||||
- /home/git/.ssh:/data/git/.ssh
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "127.0.0.1:2222:22"
|
||||
- "3000:3000"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "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"
|
||||
- "traefik.http.routers.gitea-secure.tls=true"
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana
|
||||
container_name: grafana
|
||||
|
|
@ -18,7 +45,7 @@ services:
|
|||
- "traefik.http.services.grafana-service.loadbalancer.server.port=3000"
|
||||
|
||||
influx:
|
||||
image: quay.io/influxdb/influxdb:2.0.0-beta
|
||||
image: influxdb
|
||||
container_name: influxdb
|
||||
networks:
|
||||
- backend
|
||||
|
|
@ -29,8 +56,15 @@ services:
|
|||
- "traefik.http.routers.influx.rule=host(`influx.${DOMAIN}`)"
|
||||
- "traefik.http.services.influx-service.loadBalancer.server.port=8086"
|
||||
restart: always
|
||||
volumes:
|
||||
- ${DIR}/influx-data:/var/lib/influxdb
|
||||
environment:
|
||||
- INFLUX_TOKEN=-I2TAAlmXdJ06yMw9wf-Mztf83ZzYZUdE8Ov2hMrnYabvXUnxL2cZfDzNHR6LTbW7ND5rE95CdvV2-Cy8IMHZQ==
|
||||
- INFLUXDB_DB=SOME_DB_NAME # set any other to create database on initialization
|
||||
- INFLUXDB_HTTP_ENABLED=true
|
||||
- INFLUXDB_HTTP_AUTH_ENABLED=true
|
||||
|
||||
- INFLUXDB_ADMIN_USER=SECURE_USERNAME
|
||||
- INFLUXDB_ADMIN_PASSWORD=SECURE_PASS
|
||||
|
||||
telegraf:
|
||||
container_name: telegraf
|
||||
|
|
@ -40,10 +74,8 @@ services:
|
|||
- backend
|
||||
ports:
|
||||
- 8081:8081
|
||||
environment:
|
||||
- INFLUX_TOKEN=-I2TAAlmXdJ06yMw9wf-Mztf83ZzYZUdE8Ov2hMrnYabvXUnxL2cZfDzNHR6LTbW7ND5rE95CdvV2-Cy8IMHZQ==
|
||||
volumes:
|
||||
- ./telegraf.conf:/etc/telegraf/telegraf.conf
|
||||
- ./data-handling/telegraf.conf:/etc/telegraf/telegraf.conf
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
|
||||
node-red:
|
||||
image: nodered/node-red:latest
|
||||
container_name: "node-red"
|
||||
networks:
|
||||
- backend
|
||||
environment:
|
||||
- TZ=Europe/Stockholm
|
||||
ports:
|
||||
- "1881:1880"
|
||||
#devices:
|
||||
#- /dev/ttyAMA0
|
||||
restart: unless-stopped
|
||||
user: ${UID}
|
||||
volumes:
|
||||
- ${DIR}/nodered:/data
|
||||
labels:
|
||||
- "traefik.http.routers.node-red.rule=Host(`nodered.${DOMAIN}`)"
|
||||
- "traefik.http.routers.node-red.entrypoints=web"
|
||||
- "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.http.routers.node-red-secure.tls=true"
|
||||
- "traefik.enable=true"
|
||||
|
||||
zigbee2mqtt:
|
||||
container_name: zigbee2mqtt
|
||||
networks:
|
||||
- backend
|
||||
image: koenkk/zigbee2mqtt:1.13.0
|
||||
volumes:
|
||||
- ${DIR}/zigbee2matt:/app/data
|
||||
- ${DIR}/zigbee2mqtt_node_log:/root/.npm
|
||||
devices:
|
||||
- /dev/ttyACM1:/dev/ttyACM0
|
||||
environment:
|
||||
- UID=1000
|
||||
- GID=1000
|
||||
- TZ=Europe/Stockholm
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
backend:
|
||||
external: false
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
version: '3'
|
||||
|
||||
|
||||
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:
|
||||
- "./milvert.com/conf:/etc/nginx/conf.d"
|
||||
- "./milvert.com/html:/html"
|
||||
|
||||
whoami:
|
||||
# A container that exposes an API to show its IP address
|
||||
container_name: whoami
|
||||
image: containous/whoami
|
||||
networks:
|
||||
- backend
|
||||
- frontend
|
||||
ports:
|
||||
# The HTTP port
|
||||
- "81:80"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.whoami-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.whoami-secure.rule=Host(`whoami.${DOMAIN}`)"
|
||||
- "traefik.http.routers.whoami-secure.tls.certresolver=milvert"
|
||||
- "traefik.http.routers.whoami-secure.tls=true"
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
backend:
|
||||
external: false
|
||||
|
||||
|
|
@ -21,116 +21,6 @@ services:
|
|||
- backend
|
||||
restart: unless-stopped
|
||||
|
||||
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:
|
||||
container_name: zigbee2mqtt
|
||||
networks:
|
||||
- backend
|
||||
image: koenkk/zigbee2mqtt:1.13.0
|
||||
volumes:
|
||||
- ${DIR}/zigbee2matt:/app/data
|
||||
- ${DIR}/zigbee2mqtt_node_log:/root/.npm
|
||||
devices:
|
||||
- /dev/ttyACM1:/dev/ttyACM0
|
||||
environment:
|
||||
- UID=1000
|
||||
- GID=1000
|
||||
- TZ=Europe/Stockholm
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:6.4.2
|
||||
container_name: grafana
|
||||
networks:
|
||||
- backend
|
||||
volumes:
|
||||
# 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.http.routers.grafana.rule=Host(`grafana.${DOMAIN}`)"
|
||||
- "traefik.http.routers.grafana.entrypoints=web"
|
||||
- "traefik.http.services.grafana-service.loadbalancer.server.port=3000"
|
||||
|
||||
influx:
|
||||
image: influxdb:1.7
|
||||
container_name: influxdb
|
||||
networks:
|
||||
- backend
|
||||
labels:
|
||||
- "traefik.http.routers.influx.entryPoints=port8086"
|
||||
- "traefik.http.routers.influx.rule=host(`influx.${DOMAIN}`)"
|
||||
- "traefik.http.services.influx-service.loadBalancer.server.port=8086"
|
||||
restart: always
|
||||
volumes:
|
||||
- ${DIR}/influx-data:/var/lib/influxdb
|
||||
environment:
|
||||
- INFLUXDB_DB=SOME_DB_NAME # set any other to create database on initialization
|
||||
- INFLUXDB_HTTP_ENABLED=true
|
||||
- INFLUXDB_HTTP_AUTH_ENABLED=true
|
||||
|
||||
- INFLUXDB_ADMIN_USER=SECURE_USERNAME
|
||||
- INFLUXDB_ADMIN_PASSWORD=SECURE_PASS
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:1.12
|
||||
container_name: gitea
|
||||
networks:
|
||||
- backend
|
||||
restart: always
|
||||
environment:
|
||||
- USER_UID=1001
|
||||
- USER_GID=1005
|
||||
volumes:
|
||||
#- /var/lib/gitea:/data
|
||||
- ${DIR}/gitea:/data
|
||||
- /home/git/.ssh:/data/git/.ssh
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "127.0.0.1:2222:22"
|
||||
- "3000:3000"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "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"
|
||||
- "traefik.http.routers.gitea-secure.tls=true"
|
||||
|
||||
whoami:
|
||||
# A container that exposes an API to show its IP address
|
||||
container_name: whoami
|
||||
image: containous/whoami
|
||||
networks:
|
||||
- backend
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.whoami-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.whoami-secure.rule=Host(`whoami.${DOMAIN}`)"
|
||||
- "traefik.http.routers.whoami-secure.tls.certresolver=milvert"
|
||||
- "traefik.http.routers.whoami-secure.tls=true"
|
||||
|
||||
mqtt:
|
||||
image: eclipse-mosquitto:1.6.10
|
||||
|
|
@ -147,7 +37,7 @@ services:
|
|||
- PGID=1000
|
||||
- TZ=Europe/Stockholm
|
||||
volumes:
|
||||
- ./mosquitto/mosquitto.conf:/mqtt/mosquitto.conf
|
||||
- ./main/mosquitto/mosquitto.conf:/mqtt/mosquitto.conf
|
||||
- ${DIR}/mqtt/data:/mqtt/data
|
||||
- ${DIR}/mqtt/log:/mqtt/log
|
||||
labels:
|
||||
|
|
@ -156,58 +46,10 @@ services:
|
|||
- "traefik.http.services.mqtt-service.loadbalancer.server.port=9001"
|
||||
- "traefik.enable=true"
|
||||
|
||||
node-red:
|
||||
image: nodered/node-red:latest
|
||||
container_name: "node-red"
|
||||
networks:
|
||||
- backend
|
||||
environment:
|
||||
- TZ=Europe/Stockholm
|
||||
ports:
|
||||
- "1881:1880"
|
||||
#devices:
|
||||
#- /dev/ttyAMA0
|
||||
restart: unless-stopped
|
||||
user: ${UID}
|
||||
volumes:
|
||||
- ${DIR}/nodered:/data
|
||||
labels:
|
||||
- "traefik.http.routers.node-red.rule=Host(`nodered.${DOMAIN}`)"
|
||||
- "traefik.http.routers.node-red.entrypoints=web"
|
||||
- "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.http.routers.node-red-secure.tls=true"
|
||||
- "traefik.enable=true"
|
||||
|
||||
domoticz:
|
||||
image: linuxserver/domoticz
|
||||
container_name: domoticz
|
||||
networks:
|
||||
- backend
|
||||
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.${DOMAIN}`)"
|
||||
- "traefik.http.routers.domo.entrypoints=web"
|
||||
- "traefik.http.services.domo-service.loadbalancer.server.port=8080"
|
||||
- "traefik.enable=true"
|
||||
|
||||
|
||||
reverse-proxy:
|
||||
traefik:
|
||||
# The official v2.0 Traefik docker image
|
||||
image: traefik:v2.1
|
||||
image: traefik
|
||||
container_name: "traefik"
|
||||
networks:
|
||||
- backend
|
||||
|
|
@ -220,11 +62,11 @@ services:
|
|||
volumes:
|
||||
# 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
|
||||
- ./main/traefik.yml:/etc/traefik/traefik.yml
|
||||
- ./main/static_config.yml:/etc/traefik/static_config.yml
|
||||
# - "./log.json:/etc/traefik/log.json"
|
||||
#- ./acme.json:/acme.json
|
||||
- ./letsencrypt:/letsencrypt
|
||||
- ./main/letsencrypt:/letsencrypt
|
||||
dns:
|
||||
- 8.8.8.8
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue