New backup 2024-04-17 12:34:36
This commit is contained in:
parent
e0f4da9623
commit
ca4b6be442
10 changed files with 315 additions and 221 deletions
|
@ -1,37 +1,32 @@
|
|||
|
||||
#SYSINFO
|
||||
# Time zone - get identifier here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
TZ=
|
||||
# UID & GID - get by running 'id' command as user who should own files
|
||||
UID=
|
||||
GID=
|
||||
#because home assistant throws a fit if the reverse proxy ip address changes, which it tends to when recreated/restarted. Make this something like "172.1.1."
|
||||
SUBNET_PREFIX=
|
||||
AUTH_SUBNET_PREFIX=
|
||||
MONITOR_SUBNET_PREFIX=
|
||||
NETWORKING_SUBNET_PREFIX=
|
||||
|
||||
#URLS
|
||||
#lldap server url
|
||||
LLDAP_SERVER=
|
||||
|
||||
#PATHS
|
||||
# Data Path - this is the parent directory where all of your persistent container data will be stored
|
||||
DATA_PATH=
|
||||
# Media Path - this is the parent directory where all of your media is stored- you can use samba to connect to remote media drive
|
||||
MEDIA_PATH=
|
||||
|
||||
#PORTS
|
||||
#These are the ports services will be available at. I've left my reccomendations here
|
||||
DDNS_PORT=8001
|
||||
KUMA_PORT=3001
|
||||
DDNS_PORT=
|
||||
KUMA_PORT=
|
||||
|
||||
LLDAP_LDAP_PORT=3890
|
||||
LLDAP_LDAPS_PORT=6360
|
||||
LLDAP_WEBUI_PORT=17170
|
||||
LLDAP_LDAP_PORT=
|
||||
LLDAP_LDAPS_PORT=
|
||||
LLDAP_WEBUI_PORT=
|
||||
|
||||
ORGANIZR_PORT=8449
|
||||
ORGANIZR_PORT=
|
||||
|
||||
NGINX_HTTP_PORT=80
|
||||
NGINX_WEBUI_PORT=81
|
||||
NGINX_HTTPS_PORT=443
|
||||
NGINX_HTTP_PORT=
|
||||
NGINX_WEBUI_PORT=
|
||||
NGINX_HTTPS_PORT=
|
||||
|
||||
WYOMING_PIPER_PORT=10200
|
||||
WYOMING_WHISPER_PORT=10300
|
||||
WYOMING_PIPER_PORT=
|
||||
WYOMING_WHISPER_PORT=
|
||||
|
|
63
auth.yml
Normal file
63
auth.yml
Normal file
|
@ -0,0 +1,63 @@
|
|||
version: "3.8"
|
||||
|
||||
networks:
|
||||
authelia:
|
||||
driver: bridge
|
||||
docker-local:
|
||||
driver: bridge
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: ${AUTH_SUBNET_PREFIX}0/24
|
||||
|
||||
services:
|
||||
|
||||
lldap: #very simple LDAP implementation- in case you want a central account for all other services https://github.com/lldap/lldap
|
||||
image: nitnelave/lldap:stable
|
||||
container_name: lldap
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "1024m"
|
||||
max-file: "3"
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${AUTH_SUBNET_PREFIX}4
|
||||
volumes:
|
||||
- ${DATA_PATH}/lldap/data:/data
|
||||
hostname: ${LLDAP_SERVER}
|
||||
ports:
|
||||
- ${LLDAP_LDAP_PORT}:3890
|
||||
- ${LLDAP_WEBUI_PORT}:17170
|
||||
- ${LLDAP_LDAPS_PORT}:6360
|
||||
restart: unless-stopped
|
||||
|
||||
authelia: # authentication frontend for services that don't natively support external login
|
||||
image: authelia/authelia
|
||||
container_name: authelia
|
||||
environment:
|
||||
- PUID=${UID}
|
||||
- PGID=${GID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${DATA_PATH}/authelia/config:/config
|
||||
networks:
|
||||
- authelia
|
||||
ports:
|
||||
- 9091:9091
|
||||
restart: unless-stopped
|
||||
|
||||
authelia-redis: # data structure server for authelia #https://redis.io/docs/about/
|
||||
image: redis:alpine
|
||||
container_name: authelia-redis
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- PUID=${UID}
|
||||
- PGID=${GID}
|
||||
volumes:
|
||||
- ${DATA_PATH}/authelia/redis:/data
|
||||
networks:
|
||||
- authelia
|
||||
expose:
|
||||
- 6379
|
||||
restart: unless-stopped
|
|
@ -1,202 +0,0 @@
|
|||
version: "3.8"
|
||||
|
||||
networks:
|
||||
authelia:
|
||||
driver: bridge
|
||||
docker-local:
|
||||
driver: bridge
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: ${SUBNET_PREFIX}0/24
|
||||
|
||||
volumes:
|
||||
portainer_data:
|
||||
name: portainer_data
|
||||
|
||||
services:
|
||||
|
||||
portainer: #Portainer is a web UI for managing your docker containers https://www.portainer.io/
|
||||
image: portainer/portainer-ce:latest
|
||||
container_name: portainer
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- portainer_data:/data
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "9443:9443"
|
||||
restart: always
|
||||
|
||||
organizr: #organizr is a server control panel https://github.com/causefx/Organizr
|
||||
image: organizr/organizr
|
||||
container_name: organizr
|
||||
volumes:
|
||||
- ${DATA_PATH}/organizr/config:/config
|
||||
environment:
|
||||
- PGID=${GID}
|
||||
- PUID=${UID}
|
||||
- TZ=${TZ}
|
||||
- branch=v2-master
|
||||
ports:
|
||||
- ${ORGANIZR_PORT}:80
|
||||
restart: unless-stopped
|
||||
|
||||
ddns-updater: # dns updater, prevents issues caused by cycling residential ip address https://hub.docker.com/r/qmcgaw/ddns-updater
|
||||
image: qmcgaw/ddns-updater:latest
|
||||
container_name: ddns-updater
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${SUBNET_PREFIX}2
|
||||
environment:
|
||||
- LISTENING_PORT=8000
|
||||
- ROOT_URL=/
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${DATA_PATH}/ddns-updater/data:/updater/data
|
||||
ports:
|
||||
- ${DDNS_PORT}:8000/tcp
|
||||
restart: unless-stopped
|
||||
|
||||
home-assistant: #home automation hub. Control lights, audio, temperature, etc. https://www.home-assistant.io/installation/linux#docker-compose
|
||||
image: ghcr.io/home-assistant/home-assistant:stable
|
||||
container_name: home-assistant
|
||||
volumes:
|
||||
- ${DATA_PATH}/home-assistant/config:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /run/dbus:/run/dbus:ro
|
||||
- ${MEDIA_PATH}:/media/Media:ro
|
||||
privileged: true
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
||||
|
||||
uptime-kuma: # uptime watcher, send notifications when something is down https://github.com/louislam/uptime-kuma
|
||||
image: louislam/uptime-kuma:latest
|
||||
container_name: uptime-kuma
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${SUBNET_PREFIX}3
|
||||
volumes:
|
||||
- ${DATA_PATH}/uptime-kuma/data:/app/data
|
||||
ports:
|
||||
- ${KUMA_PORT}:3001
|
||||
restart: unless-stopped
|
||||
|
||||
lldap: #very simple LDAP implementation- in case you want a central account for all other services https://github.com/lldap/lldap
|
||||
image: nitnelave/lldap:stable
|
||||
container_name: lldap
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${SUBNET_PREFIX}4
|
||||
volumes:
|
||||
- ${DATA_PATH}/lldap/data:/data
|
||||
hostname: ${LLDAP_SERVER}
|
||||
ports:
|
||||
- ${LLDAP_LDAP_PORT}:3890
|
||||
- ${LLDAP_WEBUI_PORT}:17170
|
||||
- ${LLDAP_LDAPS_PORT}:6360
|
||||
restart: unless-stopped
|
||||
|
||||
nginx-proxy-manager: # web ui for managing nginx reverse proxy config https://nginxproxymanager.com/
|
||||
image: jc21/nginx-proxy-manager:latest
|
||||
container_name: nginx-proxy-manager
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${SUBNET_PREFIX}5
|
||||
volumes:
|
||||
- ${DATA_PATH}/nginx-proxy-manager/data:/data
|
||||
- ${DATA_PATH}/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
|
||||
- ${DATA_PATH}/nginx-proxy-manager/static:/static
|
||||
- ${DATA_PATH}/nginx-proxy-manager/snippets:/snippets:ro
|
||||
ports:
|
||||
- ${NGINX_HTTP_PORT}:80
|
||||
- ${NGINX_WEBUI_PORT}:81
|
||||
- ${NGINX_HTTPS_PORT}:443
|
||||
restart: unless-stopped
|
||||
|
||||
authelia: # authentication frontend for services that don't natively support external login
|
||||
image: authelia/authelia
|
||||
container_name: authelia
|
||||
environment:
|
||||
- PUID=${UID}
|
||||
- PGID=${GID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${DATA_PATH}/authelia/config:/config
|
||||
networks:
|
||||
- authelia
|
||||
ports:
|
||||
- 9091:9091
|
||||
restart: unless-stopped
|
||||
|
||||
authelia-redis: # data structure server for authelia #https://redis.io/docs/about/
|
||||
image: redis:alpine
|
||||
container_name: authelia-redis
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- PUID=${UID}
|
||||
- PGID=${GID}
|
||||
volumes:
|
||||
- ${DATA_PATH}/authelia/redis:/data
|
||||
networks:
|
||||
- authelia
|
||||
expose:
|
||||
- 6379
|
||||
restart: unless-stopped
|
||||
|
||||
wyoming-piper: # text to speech for home assistant https://github.com/rhasspy/wyoming-addons
|
||||
image: rhasspy/wyoming-piper
|
||||
container_name: wyoming-piper
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${SUBNET_PREFIX}6
|
||||
volumes:
|
||||
- ${DATA_PATH}/wyoming_piper/data:/data
|
||||
ports:
|
||||
- ${WYOMING_PIPER_PORT}:10200
|
||||
command: --voice en-us-libritts-high
|
||||
restart: unless-stopped
|
||||
|
||||
wyoming-whisper: #speech to text for home assistant https://github.com/rhasspy/wyoming-addons
|
||||
image: rhasspy/wyoming-whisper
|
||||
container_name: wyoming_whisper
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${SUBNET_PREFIX}7
|
||||
volumes:
|
||||
- ${DATA_PATH}/wyoming_whisper/data:/data
|
||||
ports:
|
||||
- ${WYOMING_WHISPER_PORT}:10300
|
||||
command: --model tiny-int8 --language en
|
||||
restart: unless-stopped
|
||||
|
||||
# apcupsd:
|
||||
# image: gregewing/apcupsd:latest
|
||||
# container_name: apcupsd
|
||||
# volumes:
|
||||
# - /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
|
||||
# - ${DATA_PATH}/apcupsd:/etc/apcupsd
|
||||
# environment:
|
||||
# - UPSTYPE=net
|
||||
# - DEVICE=router-netgear-r8000:3551
|
||||
# - TZ=${TZ}
|
||||
# restart: always
|
||||
|
||||
|
||||
# tftpd:
|
||||
# image: docker.io/kalaksi/tftpd
|
||||
# container_name: tftp
|
||||
# environment:
|
||||
# TFTPD_BIND_ADDRESS: "0.0.0.0:1069"
|
||||
# TFTPD_EXTRA_ARGS: '--blocksize 1468'
|
||||
# cap_drop:
|
||||
# - ALL
|
||||
# cap_add:
|
||||
# - SETUID
|
||||
# - SETGID
|
||||
# - SYS_CHROOT
|
||||
# volumes:
|
||||
# - ${DATA_PATH}/tftp/boot:/tftpboot/boot
|
||||
# - ${DATA_PATH}/tftp/config.cfg:/tftpboot/pxelinux.cfg:ro
|
||||
# ports:
|
||||
# - 69:1069/udp
|
||||
# restart: unless-stopped
|
43
docker-compose.yml.bak
Normal file
43
docker-compose.yml.bak
Normal file
|
@ -0,0 +1,43 @@
|
|||
version: "3.8"
|
||||
|
||||
networks:
|
||||
docker-local:
|
||||
driver: bridge
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: ${SUBNET_PREFIX}0/24
|
||||
|
||||
#services:
|
||||
|
||||
# apcupsd:
|
||||
# image: gregewing/apcupsd:latest
|
||||
# container_name: apcupsd
|
||||
# volumes:
|
||||
# - /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
|
||||
# - ${DATA_PATH}/apcupsd:/etc/apcupsd
|
||||
# environment:
|
||||
# - UPSTYPE=net
|
||||
# - DEVICE=hostname:3551
|
||||
# - TZ=${TZ}
|
||||
# restart: always
|
||||
|
||||
|
||||
# tftpd:
|
||||
# image: docker.io/kalaksi/tftpd
|
||||
# container_name: tftp
|
||||
# environment:
|
||||
# TFTPD_BIND_ADDRESS: "0.0.0.0:1069"
|
||||
# TFTPD_EXTRA_ARGS: '--blocksize 1468'
|
||||
# cap_drop:
|
||||
# - ALL
|
||||
# cap_add:
|
||||
# - SETUID
|
||||
# - SETGID
|
||||
# - SYS_CHROOT
|
||||
# volumes:
|
||||
# - ${DATA_PATH}/tftp/boot:/tftpboot/boot
|
||||
# - ${DATA_PATH}/tftp/config.cfg:/tftpboot/pxelinux.cfg:ro
|
||||
# ports:
|
||||
# - 69:1069/udp
|
||||
# restart: unless-stopped
|
30
libretranslate.yml
Normal file
30
libretranslate.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
version: "3.8"
|
||||
|
||||
#networks:
|
||||
# docker-local:
|
||||
# driver: bridge
|
||||
# ipam:
|
||||
# driver: default
|
||||
# config:
|
||||
# - subnet: ${SUBNET_PREFIX}0/24
|
||||
|
||||
volumes:
|
||||
libretranslate_api_keys:
|
||||
libretranslate_models:
|
||||
|
||||
services:
|
||||
|
||||
libretranslate:
|
||||
image: libretranslate/libretranslate
|
||||
container_name: libretranslate
|
||||
volumes:
|
||||
- libretranslate_api_keys:/app/db
|
||||
- libretranslate_models:/home/libretranslate/.local:rw
|
||||
ports:
|
||||
- "5009:5000"
|
||||
environment:
|
||||
- LT_API_KEYS=true
|
||||
- LT_REQ_LIMIT=5
|
||||
- LT_API_KEYS_DB_PATH=/app/db/api
|
||||
- LT_UPDATE_MODELS=true
|
||||
restart: unless-stopped
|
52
monitoring.yml
Normal file
52
monitoring.yml
Normal file
|
@ -0,0 +1,52 @@
|
|||
version: "3.8"
|
||||
|
||||
networks:
|
||||
docker-local:
|
||||
driver: bridge
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: ${MONITOR_SUBNET_PREFIX}0/24
|
||||
|
||||
volumes:
|
||||
portainer_data:
|
||||
name: portainer_data
|
||||
|
||||
services:
|
||||
|
||||
portainer: #Portainer is a web UI for managing your docker containers https://www.portainer.io/
|
||||
image: portainer/portainer-ce:latest
|
||||
container_name: portainer
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- portainer_data:/data
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "9443:9443"
|
||||
restart: always
|
||||
|
||||
organizr: #organizr is a server control panel https://github.com/causefx/Organizr
|
||||
image: organizr/organizr
|
||||
container_name: organizr
|
||||
volumes:
|
||||
- ${DATA_PATH}/organizr/config:/config
|
||||
environment:
|
||||
- PGID=${GID}
|
||||
- PUID=${UID}
|
||||
- TZ=${TZ}
|
||||
- branch=v2-master
|
||||
ports:
|
||||
- ${ORGANIZR_PORT}:80
|
||||
restart: unless-stopped
|
||||
|
||||
uptime-kuma: # uptime watcher, send notifications when something is down https://github.com/louislam/uptime-kuma
|
||||
image: louislam/uptime-kuma:latest
|
||||
container_name: uptime-kuma
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${MONITOR_SUBNET_PREFIX}3
|
||||
volumes:
|
||||
- ${DATA_PATH}/uptime-kuma/data:/app/data
|
||||
ports:
|
||||
- ${KUMA_PORT}:3001
|
||||
restart: unless-stopped
|
44
networking.yml
Normal file
44
networking.yml
Normal file
|
@ -0,0 +1,44 @@
|
|||
version: "3.8"
|
||||
|
||||
networks:
|
||||
docker-local:
|
||||
driver: bridge
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: ${NETWORKING_SUBNET_PREFIX}0/24
|
||||
|
||||
services:
|
||||
|
||||
ddns-updater: # dns updater, prevents issues caused by cycling residential ip address https://hub.docker.com/r/qmcgaw/ddns-updater
|
||||
image: qmcgaw/ddns-updater:latest
|
||||
container_name: ddns-updater
|
||||
# networks:
|
||||
# docker-local:
|
||||
# ipv4_address: ${SUBNET_PREFIX}2
|
||||
environment:
|
||||
- LISTENING_PORT=8000
|
||||
- ROOT_URL=/
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${DATA_PATH}/ddns-updater/data:/updater/data
|
||||
ports:
|
||||
- ${DDNS_PORT}:8000/tcp
|
||||
restart: unless-stopped
|
||||
|
||||
nginx-proxy-manager: # web ui for managing nginx reverse proxy config https://nginxproxymanager.com/
|
||||
image: jc21/nginx-proxy-manager:latest
|
||||
container_name: nginx-proxy-manager
|
||||
networks:
|
||||
docker-local:
|
||||
ipv4_address: ${NETWORKING_SUBNET_PREFIX}5
|
||||
volumes:
|
||||
- ${DATA_PATH}/nginx-proxy-manager/data:/data
|
||||
- ${DATA_PATH}/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
|
||||
- ${DATA_PATH}/nginx-proxy-manager/static:/static
|
||||
- ${DATA_PATH}/nginx-proxy-manager/snippets:/snippets:ro
|
||||
ports:
|
||||
- ${NGINX_HTTP_PORT}:80
|
||||
- ${NGINX_WEBUI_PORT}:81
|
||||
- ${NGINX_HTTPS_PORT}:443
|
||||
restart: unless-stopped
|
50
smarthome.yml
Normal file
50
smarthome.yml
Normal file
|
@ -0,0 +1,50 @@
|
|||
version: "3.8"
|
||||
|
||||
#networks:
|
||||
# docker-local:
|
||||
# driver: bridge
|
||||
# ipam:
|
||||
# driver: default
|
||||
# config:
|
||||
# - subnet: ${SUBNET_PREFIX}0/24
|
||||
|
||||
services:
|
||||
|
||||
home-assistant: #home automation hub. Control lights, audio, temperature, etc. https://www.home-assistant.io/installation/linux#docker>
|
||||
image: ghcr.io/home-assistant/home-assistant:stable
|
||||
container_name: home-assistant
|
||||
volumes:
|
||||
- ${DATA_PATH}/home-assistant/config:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /run/dbus:/run/dbus:ro
|
||||
- ${MEDIA_PATH}:/media/Media:ro
|
||||
- ${DATA_PATH}/home-assistant/persistent:/media/persistent
|
||||
privileged: true
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
||||
|
||||
wyoming-piper: # text to speech for home assistant https://github.com/rhasspy/wyoming-addons
|
||||
image: rhasspy/wyoming-piper
|
||||
container_name: wyoming-piper
|
||||
# networks:
|
||||
# docker-local:
|
||||
# ipv4_address: ${SUBNET_PREFIX}6
|
||||
volumes:
|
||||
- ${DATA_PATH}/wyoming_piper/data:/data
|
||||
ports:
|
||||
- ${WYOMING_PIPER_PORT}:10200
|
||||
command: --voice en-us-libritts-high
|
||||
restart: unless-stopped
|
||||
|
||||
wyoming-whisper: #speech to text for home assistant https://github.com/rhasspy/wyoming-addons
|
||||
image: rhasspy/wyoming-whisper
|
||||
container_name: wyoming_whisper
|
||||
# networks:
|
||||
# docker-local:
|
||||
# ipv4_address: ${SUBNET_PREFIX}7
|
||||
volumes:
|
||||
- ${DATA_PATH}/wyoming_whisper/data:/data
|
||||
ports:
|
||||
- ${WYOMING_WHISPER_PORT}:10300
|
||||
command: --model tiny-int8 --language en
|
||||
restart: unless-stopped
|
11
startall.sh
Executable file
11
startall.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
script_root="$( dirname $0 )"
|
||||
|
||||
for y in "${script_root}"/*.yml;do
|
||||
by="$(basename $y)"
|
||||
sudo docker-compose -f "${y}" pull
|
||||
sudo docker-compose -f "${y}" -p "${by}" up -d
|
||||
done
|
||||
|
||||
sudo docker image prune -f
|
8
updategit.sh
Executable file
8
updategit.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
cp .env .env_template
|
||||
sed -i 's/=.*/=/' .env_template
|
||||
|
||||
git add .
|
||||
git commit -m "New backup `date +'%Y-%m-%d %H:%M:%S'`"
|
||||
git push
|
Loading…
Add table
Reference in a new issue