New backup 2024-04-17 12:34:36

This commit is contained in:
Penelope Gwen 2024-04-17 12:34:36 -06:00
parent e0f4da9623
commit ca4b6be442
10 changed files with 315 additions and 221 deletions

View file

@ -1,37 +1,32 @@
#SYSINFO #SYSINFO
# Time zone - get identifier here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ= TZ=
# UID & GID - get by running 'id' command as user who should own files
UID= UID=
GID= 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." AUTH_SUBNET_PREFIX=
SUBNET_PREFIX= MONITOR_SUBNET_PREFIX=
NETWORKING_SUBNET_PREFIX=
#URLS #URLS
#lldap server url
LLDAP_SERVER= LLDAP_SERVER=
#PATHS #PATHS
# Data Path - this is the parent directory where all of your persistent container data will be stored
DATA_PATH= 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= MEDIA_PATH=
#PORTS #PORTS
#These are the ports services will be available at. I've left my reccomendations here DDNS_PORT=
DDNS_PORT=8001 KUMA_PORT=
KUMA_PORT=3001
LLDAP_LDAP_PORT=3890 LLDAP_LDAP_PORT=
LLDAP_LDAPS_PORT=6360 LLDAP_LDAPS_PORT=
LLDAP_WEBUI_PORT=17170 LLDAP_WEBUI_PORT=
ORGANIZR_PORT=8449 ORGANIZR_PORT=
NGINX_HTTP_PORT=80 NGINX_HTTP_PORT=
NGINX_WEBUI_PORT=81 NGINX_WEBUI_PORT=
NGINX_HTTPS_PORT=443 NGINX_HTTPS_PORT=
WYOMING_PIPER_PORT=10200 WYOMING_PIPER_PORT=
WYOMING_WHISPER_PORT=10300 WYOMING_WHISPER_PORT=

63
auth.yml Normal file
View 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

View file

@ -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
View 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
View 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
View 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
View 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
View 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
View 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
View 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