Compare commits
No commits in common. "04c001d2f3699febf34b2e64eb3dce1c74386243" and "1da8b4c837dee92397081e2b9dd93a574abf8043" have entirely different histories.
04c001d2f3
...
1da8b4c837
|
@ -1,76 +0,0 @@
|
||||||
#
|
|
||||||
# SERVER & COMMON VARIABLES
|
|
||||||
#
|
|
||||||
|
|
||||||
ENV_PUID=1000
|
|
||||||
ENV_PGID=1000
|
|
||||||
SERVER_IP=192.168.x.x
|
|
||||||
ENV_TIMEZONE=America/New_York
|
|
||||||
|
|
||||||
#
|
|
||||||
# SECRETS
|
|
||||||
#
|
|
||||||
MQTT_USERNAME=
|
|
||||||
MQTT_PASSWORD=
|
|
||||||
RCLONE_USERNAME=
|
|
||||||
RCLONE_PASSWORD=
|
|
||||||
PIHOLE_WEBPASSWORD=
|
|
||||||
FRIGATE_RTSP_PASSWORD=
|
|
||||||
CONTAINERMON_NOTIFICATION_URL="telegram://1234567890:AAESL_DeadB33f_c4t-asdfasdfasfdasdf@telegram?chats=-987654321"
|
|
||||||
STREAMER_PARAMETERS=rtsp://192.168.x.x:8554/frontyard_camera frontyard
|
|
||||||
CLOUDFLARE_TOKEN=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
|
|
||||||
|
|
||||||
#
|
|
||||||
# VOLUMES
|
|
||||||
#
|
|
||||||
VOL_MOSQUITTO_CONFIG_PATH=/home/suresh/mosquitto/config
|
|
||||||
VOL_MOSQUITTO_LOG_PATH=/home/suresh/mosquitto/log
|
|
||||||
VOL_MOSQUITTO_DATA_PATH=/home/suresh/mosquitto/data
|
|
||||||
|
|
||||||
VOL_HOME_ASSISTANT_CUSTOM_COMP_PATH=/home/suresh/homeassistant/custom_components
|
|
||||||
VOL_STREAMER_TEMP_STREAM_PATH=/tmp/stream
|
|
||||||
|
|
||||||
VOL_PORTAINER_DATA=/home/suresh/portainer_data
|
|
||||||
|
|
||||||
VOL_PIHOLE_CONFIG_PATH=/home/suresh/etc-pihole
|
|
||||||
VOL_PIHOLE_DNSMASQ_CONFIG_PATH=/home/suresh/etc-dnsmasq.d
|
|
||||||
|
|
||||||
VOL_HEIMDALL_CONFIG_PATH=/home/suresh/heimdall
|
|
||||||
|
|
||||||
VOL_NETBOOT_CONFIG_PATH=/home/suresh/netbootxyz/config
|
|
||||||
VOL_NETBOOT_ASSETS_PATH=/home/suresh/netbootxyz/assets
|
|
||||||
|
|
||||||
VOL_RCLONE_CONFIG_PATH=/home/suresh/docker/rclone_rclone
|
|
||||||
|
|
||||||
VOL_DASHY_CONFIG_PATH=/home/suresh/dashy/conf.yml
|
|
||||||
|
|
||||||
VOL_FRIGATE_MEDIA_PATH=/home/suresh/frigate
|
|
||||||
VOL_FRIGATE_CONFIG_YAML_PATH=/home/suresh/frigate/config.yml
|
|
||||||
VOL_HOME_ASSISTANT_CONFIG_PATH=/home/suresh/homeassistant
|
|
||||||
|
|
||||||
VOL_GO2RTC_PATH=/home/suresh/go2rtc
|
|
||||||
|
|
||||||
VOL_TRAEFIK_DYNAMIC_YAML=/home/suresh/traefik/dynamic.yaml
|
|
||||||
|
|
||||||
VOL_AIRSONIC_CONFIG=/home/suresh/airsonic/config
|
|
||||||
VOL_AIRSONIC_MUSIC=/home/suresh/airsonic/music
|
|
||||||
VOL_AIRSONIC_PLAYLISTS=/home/suresh/airsonic/playlists
|
|
||||||
VOL_AIRSONIC_PODCASTS=/home/suresh/airsonic/podcasts
|
|
||||||
|
|
||||||
#
|
|
||||||
# PORTS
|
|
||||||
#
|
|
||||||
PORT_HOME_ASSISTANT=
|
|
||||||
PORT_DOCKER_MON=
|
|
||||||
PORT_STREAMER=
|
|
||||||
PORT_PORTAINER=
|
|
||||||
PORT_GLANCES=
|
|
||||||
PORT_PIHOLE=
|
|
||||||
PORT_HEIMDALL=
|
|
||||||
PORT_HEIMDALL_SECURE=
|
|
||||||
PORT_DOZZLE=
|
|
||||||
PORT_NETBOOTXYZ=
|
|
||||||
PORT_TFTP=
|
|
||||||
PORT_NETBOOTXYZ_GUI=
|
|
||||||
PORT_RCLONE_GUI=
|
|
||||||
PORT_DASHY=
|
|
|
@ -1,467 +1,84 @@
|
||||||
##################################################################################
|
version: '2'
|
||||||
# _ _
|
|
||||||
# | | | |
|
|
||||||
# __| | ___ ___| | _____ _ __ ___ ___ _ __ ___ _ __ ___ ___ ___
|
|
||||||
# / _` |/ _ \ / __| |/ / _ \ '__| / __/ _ \| '_ ` _ \| '_ \ / _ \/ __|/ _ \
|
|
||||||
# | (_| | (_) | (__| < __/ | | (_| (_) | | | | | | |_) | (_) \__ \ __/
|
|
||||||
# \__,_|\___/ \___|_|\_\___|_| \___\___/|_| |_| |_| .__/ \___/|___/\___|
|
|
||||||
# | |
|
|
||||||
# |_|
|
|
||||||
##################################################################################
|
|
||||||
version: "3.0"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Cloudflare Tunnel
|
|
||||||
##################################################################################
|
|
||||||
cloudflare:
|
|
||||||
image: cloudflare/cloudflared:latest
|
|
||||||
container_name: cloudflared-tunnel
|
|
||||||
command: tunnel run
|
|
||||||
environment:
|
|
||||||
- TUNNEL_TOKEN=${CLOUDFLARE_TOKEN}
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# MQTT Server
|
|
||||||
##################################################################################
|
|
||||||
mqtt:
|
mqtt:
|
||||||
container_name: mqtt
|
|
||||||
image: eclipse-mosquitto:latest
|
image: eclipse-mosquitto:latest
|
||||||
|
container_name: "MQTT"
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
network_mode: "host"
|
||||||
- ${VOL_MOSQUITTO_CONFIG_PATH}:/mosquitto/config
|
|
||||||
- ${VOL_MOSQUITTO_LOG_PATH}:/mosquitto/log
|
|
||||||
- ${VOL_MOSQUITTO_DATA_PATH}:/mosquitto/data
|
|
||||||
ports:
|
ports:
|
||||||
- 1883:1883
|
- "1883:1883"
|
||||||
- 9001:9001
|
- "9001:9001"
|
||||||
- 8585:8585
|
|
||||||
healthcheck:
|
|
||||||
test:
|
|
||||||
[
|
|
||||||
"CMD",
|
|
||||||
"mosquitto_sub",
|
|
||||||
"-u",
|
|
||||||
"${MQTT_USERNAME}",
|
|
||||||
"-P",
|
|
||||||
"${MQTT_PASSWORD}",
|
|
||||||
"-h",
|
|
||||||
"${SERVER_IP}",
|
|
||||||
"-t",
|
|
||||||
"$$SYS/broker/uptime",
|
|
||||||
"-C",
|
|
||||||
"1",
|
|
||||||
"-i",
|
|
||||||
"healthcheck",
|
|
||||||
"-W",
|
|
||||||
"3"
|
|
||||||
]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Home Assistant
|
|
||||||
##################################################################################
|
|
||||||
homeassistant:
|
|
||||||
container_name: home-assistant
|
|
||||||
image: homeassistant/home-assistant:stable
|
|
||||||
restart: unless-stopped
|
|
||||||
network_mode: host
|
|
||||||
devices:
|
|
||||||
- /dev/ttyUSB0
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${VOL_HOME_ASSISTANT_CONFIG_PATH}:/config
|
- /home/suresh/docker/mqtt/data:/mosquitto/data
|
||||||
- ${VOL_HOME_ASSISTANT_CUSTOM_COMP_PATH}:/config/custom_components:ro
|
- /home/suresh/docker/mqtt/config:/mosquitto/config
|
||||||
environment:
|
- /home/suresh/docker/mqtt/log:/mosquitto/log
|
||||||
- TZ=${ENV_TIMEZONE}
|
|
||||||
|
home-assistant:
|
||||||
|
image: homeassistant/home-assistant:latest
|
||||||
|
container_name: "home_assistant"
|
||||||
|
restart: always
|
||||||
|
network_mode: "host"
|
||||||
|
devices:
|
||||||
|
- /dev/ttyACM0
|
||||||
depends_on:
|
depends_on:
|
||||||
- mqtt
|
- mqtt
|
||||||
healthcheck:
|
|
||||||
test:
|
|
||||||
[
|
|
||||||
"CMD",
|
|
||||||
"curl",
|
|
||||||
"-f",
|
|
||||||
"http://${SERVER_IP}:${PORT_HOME_ASSISTANT}"
|
|
||||||
]
|
|
||||||
interval: 1m
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# DockerMon
|
|
||||||
##################################################################################
|
|
||||||
docker_mon:
|
|
||||||
container_name: ha_dockermon
|
|
||||||
image: philhawthorne/ha-dockermon
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
ports:
|
ports:
|
||||||
- ${PORT_DOCKER_MON}:${PORT_DOCKER_MON}
|
- "8123:8123"
|
||||||
healthcheck:
|
|
||||||
test: wget --no-verbose --tries=1 --spider http://${SERVER_IP}:${PORT_DOCKER_MON}/container/ha_dockermon/ || exit 1
|
|
||||||
interval: 1m
|
|
||||||
timeout: 10s
|
|
||||||
start_period: 20s
|
|
||||||
retries: 3
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Camera Streamer (RTSP to HLS Streaming for Chromecasts)
|
|
||||||
##################################################################################
|
|
||||||
streamer:
|
|
||||||
container_name: streamer
|
|
||||||
image: skalavala/streamer
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- PARAMETERS=${STREAMER_PARAMETERS}
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${VOL_STREAMER_TEMP_STREAM_PATH}:/tmp/stream
|
- /home/homeassistant/.homeassistant/:/config
|
||||||
ports:
|
|
||||||
- ${PORT_STREAMER}:80
|
|
||||||
healthcheck:
|
|
||||||
test:
|
|
||||||
[
|
|
||||||
"CMD",
|
|
||||||
"curl",
|
|
||||||
"-f",
|
|
||||||
"http://${SERVER_IP}:${PORT_STREAMER}/frontyard.m3u8"
|
|
||||||
]
|
|
||||||
interval: 1m
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
depends_on:
|
|
||||||
- go2rtc
|
|
||||||
|
|
||||||
##################################################################################
|
homebridge:
|
||||||
# Portainer
|
image: oznu/homebridge:latest
|
||||||
##################################################################################
|
container_name: "homebridge_docker"
|
||||||
portainer:
|
|
||||||
container_name: portainer
|
|
||||||
image: portainer/portainer-ce:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
command: -H unix:///var/run/docker.sock
|
|
||||||
ports:
|
|
||||||
- "${PORT_PORTAINER}:${PORT_PORTAINER}"
|
|
||||||
volumes:
|
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
||||||
- "${VOL_PORTAINER_DATA}:/data"
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Glances - https://glances.readthedocs.io/en/latest/docker.html
|
|
||||||
##################################################################################
|
|
||||||
glances:
|
|
||||||
container_name: glances
|
|
||||||
image: nicolargo/glances:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
pid: host
|
|
||||||
secrets:
|
|
||||||
- source: glances_password
|
|
||||||
target: /root/.config/glances/glances.pwd
|
|
||||||
ports:
|
|
||||||
- ${PORT_GLANCES}:${PORT_GLANCES}
|
|
||||||
environment:
|
|
||||||
- TZ=${ENV_TIMEZONE}
|
|
||||||
- GLANCES_OPT=--webserver
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
- /var/docker/glances:/glances/conf
|
|
||||||
healthcheck:
|
|
||||||
test:
|
|
||||||
[
|
|
||||||
"CMD",
|
|
||||||
"curl",
|
|
||||||
"-f",
|
|
||||||
"http://${SERVER_IP}:${PORT_GLANCES}"
|
|
||||||
]
|
|
||||||
interval: 1m
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Pi-Hole
|
|
||||||
##################################################################################
|
|
||||||
pihole:
|
|
||||||
container_name: pihole
|
|
||||||
image: pihole/pihole:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
hostname: pihole-container
|
|
||||||
ports:
|
|
||||||
- "${PORT_PIHOLE}:${PORT_PIHOLE}/tcp"
|
|
||||||
environment:
|
|
||||||
TZ: ${ENV_TIMEZONE}
|
|
||||||
WEBPASSWORD: ${PIHOLE_WEBPASSWORD}
|
|
||||||
volumes:
|
|
||||||
- '${VOL_PIHOLE_CONFIG_PATH}:/etc/pihole'
|
|
||||||
- '${VOL_PIHOLE_DNSMASQ_CONFIG_PATH}:/etc/dnsmasq.d'
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# heimdall
|
|
||||||
##################################################################################
|
|
||||||
heimdall:
|
|
||||||
container_name: heimdall
|
|
||||||
image: linuxserver/heimdall:latest
|
|
||||||
ports:
|
|
||||||
- '${PORT_HEIMDALL}:80'
|
|
||||||
- '${PORT_HEIMDALL_SECURE}:443'
|
|
||||||
volumes:
|
|
||||||
- '/var/run/docker.sock:/tmp/docker.sock:ro'
|
|
||||||
- '${VOL_HEIMDALL_CONFIG_PATH}:/config'
|
|
||||||
restart: unless-stopped
|
|
||||||
logging:
|
|
||||||
options:
|
|
||||||
max-size: 1g
|
|
||||||
healthcheck:
|
|
||||||
test:
|
|
||||||
[
|
|
||||||
"CMD",
|
|
||||||
"/usr/bin/wget",
|
|
||||||
"-q",
|
|
||||||
"-O -",
|
|
||||||
"http://${SERVER_IP}:${PORT_HEIMDALL}"
|
|
||||||
]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Dozzle for logs
|
|
||||||
##################################################################################
|
|
||||||
dozzle:
|
|
||||||
container_name: dozzle
|
|
||||||
image: amir20/dozzle:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
ports:
|
|
||||||
- ${PORT_DOZZLE}:8080
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Netbootxyz - PXE Server in Docker
|
|
||||||
##################################################################################
|
|
||||||
netbootxyz:
|
|
||||||
image: lscr.io/linuxserver/netbootxyz:latest
|
|
||||||
container_name: netbootxyz
|
|
||||||
environment:
|
|
||||||
- PUID=${ENV_PUID}
|
|
||||||
- PGID=${ENV_PGID}
|
|
||||||
- TZ=${ENV_TIMEZONE}
|
|
||||||
- MENU_VERSION=1.9.9 #optional
|
|
||||||
- PORT_RANGE=30000:30010 #optional
|
|
||||||
- SUBFOLDER=/ #optional
|
|
||||||
volumes:
|
|
||||||
- ${VOL_NETBOOT_CONFIG_PATH}:/config
|
|
||||||
- ${VOL_NETBOOT_ASSETS_PATH}:/assets #optional
|
|
||||||
ports:
|
|
||||||
- ${PORT_NETBOOTXYZ}:3000
|
|
||||||
- ${PORT_TFTP}:69/udp
|
|
||||||
- ${PORT_NETBOOTXYZ_GUI}:80 #optional
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# rclone web gui
|
|
||||||
##################################################################################
|
|
||||||
rclone_rclone:
|
|
||||||
image: rclone/rclone
|
|
||||||
container_name: rclone_rclone
|
|
||||||
restart: always
|
restart: always
|
||||||
command: rcd --rc-web-gui --rc-addr :${PORT_RCLONE_GUI} --rc-user ${RCLONE_USERNAME} --rc-pass ${RCLONE_PASSWORD}
|
network_mode: host
|
||||||
ports:
|
|
||||||
- "${PORT_RCLONE_GUI}:${PORT_RCLONE_GUI}"
|
|
||||||
volumes:
|
|
||||||
- ${VOL_RCLONE_CONFIG_PATH}:/config/rclone
|
|
||||||
- ${VOL_RCLONE_CONFIG_PATH}:/logs
|
|
||||||
environment:
|
environment:
|
||||||
- PHP_TZ=${ENV_TIMEZONE}
|
- TZ=America/New_York
|
||||||
- PUID=${ENV_PUID}
|
- PGID=1000
|
||||||
- PGID=${ENV_PUID}
|
- PUID=1000
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# dashy - Homelab Dashboard GUI
|
|
||||||
##################################################################################
|
|
||||||
dashy:
|
|
||||||
image: lissy93/dashy:latest
|
|
||||||
container_name: dashy
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${VOL_DASHY_CONFIG_PATH}:/app/public/conf.yml
|
- /home/suresh/docker/homebridge:/homebridge
|
||||||
environment:
|
|
||||||
- UID=${ENV_PUID}
|
|
||||||
- GID=${ENV_PGID}
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- ${PORT_DASHY}:80
|
|
||||||
healthcheck:
|
|
||||||
test: [ 'CMD', 'node', '/app/services/healthcheck' ]
|
|
||||||
interval: 1m30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
start_period: 40s
|
|
||||||
networks:
|
|
||||||
- default
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Frigate
|
|
||||||
##################################################################################
|
|
||||||
frigate:
|
|
||||||
container_name: frigate
|
|
||||||
restart: always
|
|
||||||
privileged: true
|
|
||||||
shm_size: "1g" # should work for 8 cameras
|
|
||||||
image: blakeblackshear/frigate:stable
|
|
||||||
# devices:
|
|
||||||
# - /dev/bus/usb:/dev/bus/usb # passes the USB Coral
|
|
||||||
# - /dev/apex_0:/dev/apex_0 # passes a PCIe Coral
|
|
||||||
# - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- ${VOL_HOME_ASSISTANT_CONFIG_PATH}:/config
|
|
||||||
- ${VOL_FRIGATE_MEDIA_PATH}:/media/frigate
|
|
||||||
- ${VOL_FRIGATE_CONFIG_YAML_PATH}:/config/config.yml
|
|
||||||
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
|
|
||||||
target: /tmp/cache
|
|
||||||
tmpfs:
|
|
||||||
size: 1000000000
|
|
||||||
ports:
|
|
||||||
- "5000:5000" # Console
|
|
||||||
- "1935:1935" # RTMP feeds
|
|
||||||
# - "8554:8554" # RTSP feeds
|
|
||||||
# - "8555:8555/tcp" # WebRTC over tcp
|
|
||||||
# - "8555:8555/udp" # WebRTC over udp
|
|
||||||
environment:
|
|
||||||
FRIGATE_RTSP_PASSWORD: ${FRIGATE_RTSP_PASSWORD}
|
|
||||||
LIBVA_DRIVER_NAME: i965
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- go2rtc
|
- home-assistant
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# go2rtc
|
|
||||||
##################################################################################
|
|
||||||
go2rtc:
|
|
||||||
container_name: go2rtc
|
|
||||||
image: alexxit/go2rtc:latest
|
|
||||||
network_mode: host # important for WebRTC, HomeKit, UDP cameras
|
|
||||||
privileged: true # only for FFmpeg hardware transcoding
|
|
||||||
restart: unless-stopped # autorestart on fail or config change from WebUI
|
|
||||||
environment:
|
|
||||||
- TZ=${ENV_TIMEZONE} # timezone in logs
|
|
||||||
volumes:
|
|
||||||
- "${VOL_GO2RTC_PATH}:/config" # folder for go2rtc.yaml file (edit from WebUI)
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Influxdb
|
|
||||||
##################################################################################
|
|
||||||
influxdb:
|
influxdb:
|
||||||
image: influxdb:latest
|
image: influxdb:latest
|
||||||
container_name: influxdb
|
container_name: influxdb
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
network_mode: host
|
||||||
- INFLUXDB_DB=influx
|
|
||||||
- INFLUXDB_ADMIN_USER=admin
|
|
||||||
- INFLUXDB_ADMIN_PASSWORD=admin
|
|
||||||
stdin_open: true
|
|
||||||
tty: true
|
|
||||||
ports:
|
ports:
|
||||||
- '8086:8086'
|
- 8086:8086
|
||||||
|
- 8083:8083
|
||||||
volumes:
|
volumes:
|
||||||
- influxdb_data:/var/lib/influxdb
|
- /home/suresh/docker/influxdb/:/var/lib/influxdb
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Grafana
|
|
||||||
##################################################################################
|
|
||||||
grafana:
|
grafana:
|
||||||
image: grafana/grafana
|
image: grafana/grafana:latest
|
||||||
container_name: grafana
|
container_name: grafana
|
||||||
|
network_mode: host
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
volumes:
|
||||||
|
- /home/suresh/docker/grafana/:/var/lib/grafana
|
||||||
|
depends_on:
|
||||||
|
- influxdb
|
||||||
restart: always
|
restart: always
|
||||||
depends_on:
|
|
||||||
- influxdb
|
docker_mon:
|
||||||
|
image: philhawthorne/ha-dockermon
|
||||||
|
container_name: ha_dockermon
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /path/to/config:/config
|
||||||
|
ports:
|
||||||
|
- 8126:8126
|
||||||
|
|
||||||
|
docker_machinebox:
|
||||||
|
image: machinebox/tagbox
|
||||||
|
container_name: machine_box
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
environment:
|
environment:
|
||||||
- GF_SECURITY_ADMIN_USER=admin
|
MB_KEY: !secret MB_KEY
|
||||||
- GF_SECURITY_ADMIN_PASSWORD=admin
|
|
||||||
- GF_INSTALL_PLUGINS=
|
|
||||||
links:
|
|
||||||
- influxdb
|
|
||||||
ports:
|
|
||||||
- '3000:3000'
|
|
||||||
volumes:
|
|
||||||
- grafana_data:/var/lib/grafana
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Traefik
|
|
||||||
##################################################################################
|
|
||||||
traefik:
|
|
||||||
image: traefik:latest
|
|
||||||
container_name: "traefik"
|
|
||||||
command:
|
|
||||||
- "--log.level=DEBUG"
|
|
||||||
- "--api.insecure=true"
|
|
||||||
- "--providers.docker=true"
|
|
||||||
- "--entrypoints.web.address=:80"
|
|
||||||
- "--entrypoints.traefik.address=8080"
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.api.service=api@internal"
|
|
||||||
- "traefik.http.routers.api.rule=Host(`subdomain.domain.com`)"
|
|
||||||
ports:
|
|
||||||
- "80:80"
|
|
||||||
- "8082:8080"
|
|
||||||
networks:
|
|
||||||
- web
|
|
||||||
volumes:
|
|
||||||
- "/home/suresh/traefik/config:/config:ro"
|
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
||||||
- "/home/suresh/traefik/config/traefik.yml:/etc/traefik/traefik.yaml:ro"
|
|
||||||
- "/home/suresh/traefik/config/dynamic.yaml:/etc/traefik/dynamic.yaml:ro"
|
|
||||||
|
|
||||||
##################################################################################
|
|
||||||
# Airsonic Audio Server
|
|
||||||
##################################################################################
|
|
||||||
airsonic:
|
|
||||||
container_name: airsonic
|
|
||||||
image: lscr.io/linuxserver/airsonic
|
|
||||||
environment:
|
|
||||||
- PUID=${ENV_PUID}
|
|
||||||
- PGID=${ENV_PGID}
|
|
||||||
- TZ=${ENV_TIMEZONE}
|
|
||||||
volumes:
|
|
||||||
- ${VOL_AIRSONIC_MUSIC}:/music
|
|
||||||
- ${VOL_AIRSONIC_CONFIG}:/config
|
|
||||||
- ${VOL_AIRSONIC_PODCASTS}:/podcasts
|
|
||||||
- ${VOL_AIRSONIC_PLAYLISTS}:/playlists
|
|
||||||
ports:
|
|
||||||
- 4040:4040
|
|
||||||
labels:
|
|
||||||
- "traefik.http.routers.airsonic.entrypoints=web"
|
|
||||||
- "traefik.http.routers.airsonic.rule=Host(`subdomain.domain.com`)"
|
|
||||||
devices:
|
|
||||||
- /dev/snd:/dev/snd #optional
|
|
||||||
depends_on:
|
|
||||||
- traefik
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
##########################################################################
|
|
||||||
# Secrets
|
|
||||||
##########################################################################
|
|
||||||
secrets:
|
|
||||||
glances_password:
|
|
||||||
file: ./secrets/glances_password
|
|
||||||
|
|
||||||
##########################################################################
|
|
||||||
# Volumes
|
|
||||||
##########################################################################
|
|
||||||
volumes:
|
|
||||||
influxdb_data: {}
|
|
||||||
grafana_data: {}
|
|
||||||
|
|
||||||
##########################################################################
|
|
||||||
# Networks
|
|
||||||
#
|
|
||||||
# Create networks by using following command:
|
|
||||||
# $ docker network create web
|
|
||||||
##########################################################################
|
|
||||||
networks:
|
|
||||||
default:
|
|
||||||
web:
|
|
||||||
external: true
|
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
http:
|
|
||||||
routers:
|
|
||||||
catchall:
|
|
||||||
# attached only to web entryPoint
|
|
||||||
entryPoints:
|
|
||||||
- "web"
|
|
||||||
|
|
||||||
# catchall rule
|
|
||||||
rule: "PathPrefix(`/`)"
|
|
||||||
service: unavailable
|
|
||||||
# lowest possible priority
|
|
||||||
# evaluated when no other router is matched
|
|
||||||
priority: 1
|
|
||||||
|
|
||||||
to-dashboard:
|
|
||||||
rule: "Host(`subdomain.domain.com`)"
|
|
||||||
service: api@internal
|
|
||||||
|
|
||||||
to-music:
|
|
||||||
rule: "Host(`subdomain.domain.com`)"
|
|
||||||
entrypoints: web
|
|
||||||
service: airsonic
|
|
||||||
|
|
||||||
to-frigate:
|
|
||||||
rule: "Host(`subdomain.domain.com`)"
|
|
||||||
entrypoints: web
|
|
||||||
service: frigate
|
|
||||||
|
|
||||||
to-portainer:
|
|
||||||
rule: "Host(`subdomain.domain.com`)"
|
|
||||||
entrypoints: web
|
|
||||||
service: portainer
|
|
||||||
|
|
||||||
to-plex:
|
|
||||||
rule: "Host(`subdomain.domain.com`)"
|
|
||||||
entrypoints: web
|
|
||||||
service: plex
|
|
||||||
|
|
||||||
|
|
||||||
# middlewares:
|
|
||||||
# https-redirect:
|
|
||||||
# redirectScheme:
|
|
||||||
# scheme: https
|
|
||||||
|
|
||||||
services:
|
|
||||||
# Service that will always answer a 503 Service Unavailable response
|
|
||||||
unavailable:
|
|
||||||
loadBalancer:
|
|
||||||
servers: {}
|
|
||||||
airsonic:
|
|
||||||
loadBalancer:
|
|
||||||
servers:
|
|
||||||
- url: http://192.168.x.x:xxx
|
|
||||||
frigate:
|
|
||||||
loadBalancer:
|
|
||||||
servers:
|
|
||||||
- url: http://192.168.x.x:xxx
|
|
||||||
portainer:
|
|
||||||
loadBalancer:
|
|
||||||
servers:
|
|
||||||
- url: http://192.168.x.x:xxx
|
|
||||||
plex:
|
|
||||||
loadBalancer:
|
|
||||||
servers:
|
|
||||||
- url: http://192.168.x.x:xxx
|
|
||||||
|
|
||||||
providers:
|
|
||||||
docker:
|
|
||||||
exposedByDefault: false
|
|
|
@ -1,22 +0,0 @@
|
||||||
global:
|
|
||||||
# Send anonymous usage data
|
|
||||||
sendAnonymousUsage: false
|
|
||||||
|
|
||||||
api:
|
|
||||||
dashboard: false
|
|
||||||
insecure: true
|
|
||||||
|
|
||||||
# ping: {}
|
|
||||||
|
|
||||||
entryPoints:
|
|
||||||
web:
|
|
||||||
address: :80
|
|
||||||
traefik:
|
|
||||||
address: :8080
|
|
||||||
|
|
||||||
providers:
|
|
||||||
docker:
|
|
||||||
exposedByDefault: false
|
|
||||||
file:
|
|
||||||
directory: /config
|
|
||||||
watch: true
|
|
Loading…
Reference in New Issue