114 lines
3.5 KiB
YAML
114 lines
3.5 KiB
YAML
version: '3'
|
|
services:
|
|
traefik:
|
|
image: traefik
|
|
container_name: traefik
|
|
restart: always
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "6666:8080"
|
|
volumes:
|
|
- ./traefik_data:/etc/traefik
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
networks:
|
|
traefik_net:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.dashboard.rule=Host(`traefik.ghoscht.com`)
|
|
- traefik.http.routers.dashboard.entrypoints=websecure
|
|
- traefik.http.services.dashboard.loadbalancer.server.port=8080
|
|
- traefik.http.routers.dashboard.tls=true
|
|
- traefik.http.routers.dashboard.tls.certresolver=lencrypt
|
|
env_file:
|
|
- traefik.env
|
|
dns:
|
|
- 1.1.1.1
|
|
homarr:
|
|
container_name: homarr
|
|
image: ghcr.io/ajnart/homarr:latest
|
|
restart: always
|
|
volumes:
|
|
- ./homarr_data:/app/data/configs
|
|
- ./homarr_icons:/app/public/imgs
|
|
networks:
|
|
traefik_net:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.homarr.entrypoints=websecure
|
|
- traefik.http.routers.homarr.rule=Host(`dashboard.ghoscht.com`)
|
|
- traefik.http.routers.homarr.tls=true
|
|
- traefik.http.routers.homarr.tls.certresolver=lencrypt
|
|
dns:
|
|
- 1.1.1.1
|
|
scrutiny:
|
|
container_name: scrutiny
|
|
image: ghcr.io/analogj/scrutiny:master-omnibus
|
|
restart: always
|
|
cap_add:
|
|
- SYS_RAWIO
|
|
volumes:
|
|
- /run/udev:/run/udev:ro
|
|
- ./scrutiny_data:/opt/scrutiny/config
|
|
- ./scrutiny_db:/opt/scrutiny/influxdb
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.scrutiny.entrypoints=websecure
|
|
- traefik.http.routers.scrutiny.rule=Host(`scrutiny.ghoscht.com`)
|
|
- traefik.http.services.scrutiny.loadbalancer.server.port=8080
|
|
- traefik.http.routers.scrutiny.tls=true
|
|
- traefik.http.routers.scrutiny.tls.certresolver=lencrypt
|
|
networks:
|
|
traefik_net:
|
|
devices:
|
|
- "/dev/sda"
|
|
- "/dev/sdb"
|
|
ntfy:
|
|
image: binwiederhier/ntfy
|
|
container_name: ntfy
|
|
command:
|
|
- serve
|
|
environment:
|
|
- TZ=UTC # optional: set desired timezone
|
|
user: 1000:1000 # optional: replace with your own user/group or uid/gid
|
|
volumes:
|
|
- ./ntfy_data/server.yml:/etc/ntfy/server.yml
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.ntfy.entrypoints=websecure
|
|
- traefik.http.routers.ntfy.rule=Host(`ntfy.ghoscht.com`,`ntfy.local.ghoscht.com`)
|
|
- traefik.http.routers.ntfy.tls=true
|
|
- traefik.http.routers.ntfy.tls.certresolver=lencrypt
|
|
networks:
|
|
traefik_net:
|
|
homeassistant:
|
|
container_name: homeassistant
|
|
image: "ghcr.io/home-assistant/home-assistant:stable"
|
|
volumes:
|
|
- /mnt/hdd/docker/home-assistant_data:/config
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /run/dbus:/run/dbus:ro
|
|
restart: unless-stopped
|
|
privileged: true
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.homeassistant.entrypoints=websecure
|
|
- traefik.http.routers.homeassistant.rule=Host(`home.ghoscht.com`,`home.local.ghoscht.com`)
|
|
- traefik.http.routers.homeassistant.tls=true
|
|
- traefik.http.routers.homeassistant.tls.certresolver=lencrypt
|
|
- traefik.http.services.homeassistant.loadbalancer.server.port=8123
|
|
networks:
|
|
traefik_net:
|
|
cloudflared:
|
|
container_name: cloudflared
|
|
image: cloudflare/cloudflared:latest
|
|
restart: always
|
|
command: tunnel --no-autoupdate --protocol http2 run
|
|
env_file:
|
|
- cloudflared.env
|
|
networks:
|
|
traefik_net:
|
|
networks:
|
|
traefik_net:
|
|
name: traefik-net
|
|
external: true
|