nix-config/rsc/docker/franz/infrastructure/docker-compose.yml

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