Compare commits
No commits in common. "a3944d38671c4d028805016e9209b35f99d7dcd5" and "506aad3da5de5c2cb079f4b898580332ee444b50" have entirely different histories.
a3944d3867
...
506aad3da5
10 changed files with 128 additions and 77 deletions
|
@ -10,6 +10,10 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- INIT_ASSETS=1
|
- INIT_ASSETS=1
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.homer.rule=Host(`dashboard.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.homer.entrypoints=web"
|
||||||
|
- "traefik.http.services.homer.loadbalancer.server.port=8080"
|
||||||
- "docker.group=dashboard"
|
- "docker.group=dashboard"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
services:
|
services:
|
||||||
|
|
||||||
pyload:
|
app:
|
||||||
image: linuxserver/pyload-ng
|
image: linuxserver/pyload-ng
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
|
@ -9,9 +9,16 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- ${VOLUMES_PATH}/download/pyload:/config
|
- ${VOLUMES_PATH}/download/pyload:/config
|
||||||
- ${DOWNLOAD_PATH}:/downloads
|
- ${DOWNLOAD_PATH}:/downloads
|
||||||
|
# ports:
|
||||||
|
#- 7227:7227 #optional Thrift Backend
|
||||||
networks:
|
networks:
|
||||||
- web
|
- web
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.pyload.rule=Host(`download.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.pyload.entrypoints=web"
|
||||||
|
- "traefik.http.services.pyload.loadbalancer.server.port=8000"
|
||||||
|
- "docker.group=selfhost"
|
||||||
- "docker.group=download"
|
- "docker.group=download"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|
|
@ -28,4 +28,16 @@ services:
|
||||||
# - /dev/dri/renderD128:/dev/dri/renderD128
|
# - /dev/dri/renderD128:/dev/dri/renderD128
|
||||||
# - /dev/dri/card0:/dev/dri/card0
|
# - /dev/dri/card0:/dev/dri/card0
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.jellyfin.rule=Host(`jellyfin.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.jellyfin.entrypoints=web"
|
||||||
|
- "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
|
||||||
|
- 'traefik.http.middlewares.jellyfin-mw.headers.customResponseHeaders.X-Robots-Tag=noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex'
|
||||||
|
- 'traefik.http.middlewares.jellyfin-mw.headers.frameDeny=true'
|
||||||
|
- 'traefik.http.middlewares.jellyfin-mw.headers.contentTypeNosniff=true'
|
||||||
|
- 'traefik.http.middlewares.jellyfin-mw.headers.customresponseheaders.X-XSS-PROTECTION=1'
|
||||||
|
- 'traefik.http.middlewares.jellyfin-mw.headers.browserXSSFilter=true'
|
||||||
|
- "traefik.http.middlewares.jellyfin-mw.headers.customFrameOptionsValue='allow-from http://jellyfin.${DOMAIN}'"
|
||||||
|
- "traefik.http.middlewares.jellyfin-mw.headers.customrequestheaders.X-Forwarded-Proto: https"
|
||||||
|
- 'traefik.http.routers.jellyfin.middlewares=jellyfin-mw'
|
||||||
- "docker.group=media"
|
- "docker.group=media"
|
||||||
|
|
|
@ -9,6 +9,11 @@ services:
|
||||||
- web
|
- web
|
||||||
- monitoring
|
- monitoring
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.monitoring.rule=Host(`monitoring.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.monitoring.entrypoints=web"
|
||||||
|
- "traefik.http.services.monitoring.loadbalancer.server.port=3000"
|
||||||
|
- "traefik.docker.network=web"
|
||||||
- "docker.group=monitoring"
|
- "docker.group=monitoring"
|
||||||
environment:
|
environment:
|
||||||
- GF_DEFAULT_INSTANCE_NAME=monitoring.${DOMAIN}
|
- GF_DEFAULT_INSTANCE_NAME=monitoring.${DOMAIN}
|
||||||
|
@ -57,6 +62,11 @@ services:
|
||||||
- ${VOLUMES_PATH}/monitoring/influxdb/:/var/lib/influxdb
|
- ${VOLUMES_PATH}/monitoring/influxdb/:/var/lib/influxdb
|
||||||
- ${PWD}/influxdb.conf:/etc/influxdb/influxdb.conf:ro
|
- ${PWD}/influxdb.conf:/etc/influxdb/influxdb.conf:ro
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.influxdb.rule=Host(`influxdb.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.influxdb.entrypoints=web"
|
||||||
|
- "traefik.http.services.influxdb.loadbalancer.server.port=8086"
|
||||||
|
- "traefik.docker.network=web"
|
||||||
- "docker.group=monitoring"
|
- "docker.group=monitoring"
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,6 +79,11 @@ services:
|
||||||
- dockersocket
|
- dockersocket
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.uptimekuma.rule=Host(`uptime.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.uptimekuma.entrypoints=web"
|
||||||
|
- "traefik.http.services.uptimekuma.loadbalancer.server.port=3001"
|
||||||
|
- "traefik.docker.network=web"
|
||||||
- "docker.group=monitoring"
|
- "docker.group=monitoring"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|
|
@ -59,6 +59,11 @@ services:
|
||||||
- USERMAP_GID=1000
|
- USERMAP_GID=1000
|
||||||
- PAPERLESS_PRE_CONSUME_SCRIPT=/usr/src/paperless/scripts/removePdfPassword.py
|
- PAPERLESS_PRE_CONSUME_SCRIPT=/usr/src/paperless/scripts/removePdfPassword.py
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.paperless.rule=Host(`paperless.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.paperless.entrypoints=web"
|
||||||
|
- "traefik.http.services.paperless.loadbalancer.server.port=8000"
|
||||||
|
- "traefik.docker.network=web"
|
||||||
- "docker.group=paperless"
|
- "docker.group=paperless"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
{
|
|
||||||
auto_https off
|
|
||||||
}
|
|
||||||
|
|
||||||
http://whoami.lan {
|
|
||||||
reverse_proxy whoami:80
|
|
||||||
}
|
|
||||||
|
|
||||||
http://dashboard.lan {
|
|
||||||
reverse_proxy homer:8080
|
|
||||||
}
|
|
||||||
|
|
||||||
http://hassi.lan {
|
|
||||||
# reverse_proxy homeassistant:8123
|
|
||||||
reverse_proxy dockerhost-1.lan:8123
|
|
||||||
}
|
|
||||||
|
|
||||||
http://zigbee2mqtt.lan {
|
|
||||||
reverse_proxy zigbee2mqtt:8080
|
|
||||||
}
|
|
||||||
|
|
||||||
http://jellyfin.lan {
|
|
||||||
reverse_proxy jellyfin:8096
|
|
||||||
}
|
|
||||||
|
|
||||||
http://paperless.lan {
|
|
||||||
reverse_proxy paperless-ngx:8000
|
|
||||||
}
|
|
||||||
|
|
||||||
http://download.lan {
|
|
||||||
reverse_proxy pyload:8000
|
|
||||||
}
|
|
||||||
|
|
||||||
http://monitoring.lan {
|
|
||||||
reverse_proxy grafana:3000
|
|
||||||
}
|
|
||||||
|
|
||||||
http://influxdb.lan {
|
|
||||||
reverse_proxy influxdb:8086
|
|
||||||
}
|
|
||||||
|
|
||||||
http://uptime.lan {
|
|
||||||
reverse_proxy uptime-kuma:3001
|
|
||||||
}
|
|
||||||
|
|
||||||
http://torrent.lan {
|
|
||||||
reverse_proxy transmission:9091
|
|
||||||
}
|
|
||||||
|
|
||||||
:80, :443 {
|
|
||||||
respond 404
|
|
||||||
}
|
|
|
@ -1,25 +1,54 @@
|
||||||
services:
|
services:
|
||||||
|
|
||||||
caddy:
|
traefik:
|
||||||
image: caddy:2
|
image: traefik:${TRAEFIK_VERSION}
|
||||||
restart: unless-stopped
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
networks:
|
||||||
|
- web
|
||||||
|
- dockersocket
|
||||||
volumes:
|
volumes:
|
||||||
- ${VOLUMES_PATH}/proxy/caddy/data:/data
|
- "$PWD/traefik.yml:/etc/traefik/traefik.yml"
|
||||||
- ${VOLUMES_PATH}/proxy/caddy/config:/config
|
- "$PWD/extraProviders/:/extraProviders:ro"
|
||||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
|
||||||
networks:
|
|
||||||
- web
|
|
||||||
|
|
||||||
|
|
||||||
whoami:
|
|
||||||
image: containous/whoami
|
|
||||||
networks:
|
|
||||||
- web
|
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.traefik.rule=Host(`traefik.${HOSTNAME}`)"
|
||||||
|
- "traefik.http.routers.traefik.entrypoints=web"
|
||||||
|
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
|
||||||
- "docker.group=proxy"
|
- "docker.group=proxy"
|
||||||
|
extra_hosts:
|
||||||
|
- host.docker.internal:172.17.0.1
|
||||||
|
depends_on:
|
||||||
|
- docker-socket-proxy
|
||||||
|
|
||||||
|
|
||||||
|
docker-socket-proxy:
|
||||||
|
image: tecnativa/docker-socket-proxy
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
environment:
|
||||||
|
# grant privileges as environment variables: https://github.com/Tecnativa/docker-socket-proxy#grant-or-revoke-access-to-certain-api-sections
|
||||||
|
- CONTAINERS=1
|
||||||
|
- INFO=1
|
||||||
|
networks:
|
||||||
|
- dockersocket
|
||||||
|
privileged: true
|
||||||
|
|
||||||
|
|
||||||
|
# whoami:
|
||||||
|
# image: containous/whoami
|
||||||
|
# networks:
|
||||||
|
# - web
|
||||||
|
# labels:
|
||||||
|
# - "traefik.enable=true"
|
||||||
|
# - "traefik.http.routers.whoami.rule=Host(`whoami.${HOSTNAME}`)"
|
||||||
|
# - "traefik.http.routers.whoami.entrypoints=web"
|
||||||
|
# - "traefik.http.services.whoami.loadbalancer.server.port=80"
|
||||||
|
# - "docker.group=proxy"
|
||||||
|
# restart: unless-stopped
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|
23
proxy/traefik.yml
Normal file
23
proxy/traefik.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
debug: true
|
||||||
|
checkNewVersion: true
|
||||||
|
logLevel: INFO
|
||||||
|
#defaultEntryPoints: ["https","http"]
|
||||||
|
defaultEntryPoints: [http]
|
||||||
|
|
||||||
|
api:
|
||||||
|
insecure: true
|
||||||
|
|
||||||
|
providers:
|
||||||
|
docker:
|
||||||
|
exposedbydefault: false
|
||||||
|
endpoint: "tcp://docker-socket-proxy:2375"
|
||||||
|
|
||||||
|
file:
|
||||||
|
directory: /extraProviders
|
||||||
|
|
||||||
|
|
||||||
|
entryPoints:
|
||||||
|
web:
|
||||||
|
address: ':80'
|
||||||
|
|
||||||
|
|
|
@ -10,23 +10,25 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
network_mode: host
|
network_mode: host
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.hassi.rule=Host(`hassi.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.hassi.entrypoints=web"
|
||||||
|
- "traefik.http.services.hassi.loadbalancer.server.port=8123"
|
||||||
- "docker.group=smartHome"
|
- "docker.group=smartHome"
|
||||||
|
|
||||||
|
|
||||||
mqttbroker:
|
mqttbroker:
|
||||||
image: eclipse-mosquitto:${MOSQUITTO_VERSION}
|
image: eclipse-mosquitto:${MOSQUITTO_VERSION}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
network_mode: host
|
||||||
- smarthome
|
expose:
|
||||||
ports:
|
- 1883
|
||||||
- 1883:1883 # mqtt over TCP
|
#ports:
|
||||||
|
# - 1883:1883 # mqtt over TCP
|
||||||
# - 9001:9001 # Websockets
|
# - 9001:9001 # Websockets
|
||||||
volumes:
|
volumes:
|
||||||
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
|
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
|
||||||
- ${VOLUMES_PATH}/smartHome/mosquitto/data:/mosquitto/data
|
- ${VOLUMES_PATH}/smartHome/mosquitto/data:/mosquitto/data
|
||||||
- ${VOLUMES_PATH}/smartHome/mosquitto/log:/mosquitto/log
|
- ${VOLUMES_PATH}/smartHome/mosquitto/log:/mosquitto/log
|
||||||
labels:
|
|
||||||
- "docker.group=smartHome"
|
|
||||||
|
|
||||||
|
|
||||||
zigbee2mqtt:
|
zigbee2mqtt:
|
||||||
|
@ -41,12 +43,14 @@ services:
|
||||||
- ${ZIGBEE_DEVICE}:/dev/ttyACM0
|
- ${ZIGBEE_DEVICE}:/dev/ttyACM0
|
||||||
networks:
|
networks:
|
||||||
- web
|
- web
|
||||||
- smarthome
|
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.zigbee2mqtt.rule=Host(`zigbee2mqtt.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.zigbee2mqtt.entrypoints=web"
|
||||||
|
- "traefik.http.services.zigbee2mqtt.loadbalancer.server.port=8080"
|
||||||
- "docker.group=smartHome"
|
- "docker.group=smartHome"
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
web:
|
web:
|
||||||
external: true
|
external: true
|
||||||
smarthome:
|
|
||||||
|
|
|
@ -18,6 +18,10 @@ services:
|
||||||
- 51413:51413/udp
|
- 51413:51413/udp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
labels:
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.torrent.rule=Host(`torrent.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.torrent.entrypoints=web"
|
||||||
|
- "traefik.http.services.torrent.loadbalancer.server.port=9091"
|
||||||
- "docker.group=torrent"
|
- "docker.group=torrent"
|
||||||
mem_limit: 512m
|
mem_limit: 512m
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue