add some documentation in comments

This commit is contained in:
Penelope Gwen 2023-12-04 20:21:14 -07:00
parent 11f3e887eb
commit 50198bb918
10 changed files with 208 additions and 92 deletions

37
.env_template Normal file
View file

@ -0,0 +1,37 @@
#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=
#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
LLDAP_LDAP_PORT=3890
LLDAP_LDAPS_PORT=6360
LLDAP_WEBUI_PORT=17170
ORGANIZR_PORT=8449
NGINX_HTTP_PORT=80
NGINX_WEBUI_PORT=81
NGINX_HTTPS_PORT=443
WYOMING_PIPER_PORT=10200
WYOMING_WHISPER_PORT=10300

8
.gitignore vendored
View file

@ -1,7 +1 @@
ddns-updater/data/
home_assistant/config/
kuma/data/
lldap/lldap_data/
nginx/config/
wyoming_piper/data/
wyoming_whisper/data/
.env

View file

@ -1,35 +0,0 @@
version: "3.7"
services:
ddns-updater:
image: qmcgaw/ddns-updater
container_name: ddns-updater
network_mode: bridge
ports:
- 8001:8000/tcp
volumes:
- ./data:/updater/data
environment:
- CONFIG=
- PERIOD=5m
- UPDATE_COOLDOWN_PERIOD=5m
- PUBLICIP_FETCHERS=all
- PUBLICIP_HTTP_PROVIDERS=all
- PUBLICIPV4_HTTP_PROVIDERS=all
- PUBLICIPV6_HTTP_PROVIDERS=all
- PUBLICIP_DNS_PROVIDERS=all
- PUBLICIP_DNS_TIMEOUT=3s
- HTTP_TIMEOUT=10s
# Web UI
- LISTENING_PORT=8000
- ROOT_URL=/
# Backup
- BACKUP_PERIOD=0 # 0 to disable
- BACKUP_DIRECTORY=/updater/data
# Other
- LOG_LEVEL=info
- LOG_CALLER=hidden
- SHOUTRRR_ADDRESSES=
restart: always

170
docker-compose.yml Normal file
View file

@ -0,0 +1,170 @@
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

View file

@ -1,13 +0,0 @@
version: '3'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- ./config:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
- /mnt/smb/Plex/Music:/media/Music:ro
restart: unless-stopped
privileged: true
network_mode: host

View file

@ -1,10 +0,0 @@
version: '3.3'
services:
uptime-kuma:
restart: always
ports:
- '3001:3001'
volumes:
- './data:/app/data'
container_name: uptime-kuma
image: 'louislam/uptime-kuma:1'

View file

@ -1,12 +0,0 @@
version: '3.3'
services:
lldap:
volumes:
- './lldap_data:/data'
restart: always
hostname: accounts.pogmom.me
ports:
- '3890:3890'
- '17170:17170'
- '6360:6360'
image: 'nitnelave/lldap:stable'

View file

@ -1,13 +0,0 @@
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:2.9.22'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./config/data:/data
- ./config/letsencrypt:/etc/letsencrypt
- ./config/static:/static

View file

@ -1 +0,0 @@
docker run --restart=always -it -p 10200:10200 -v /home/pogmom/Dockers/wyoming_piper/data:/data rhasspy/wyoming-piper --voice en-us-libritts-high

View file

@ -1 +0,0 @@
docker run --restart=always -it -p 10300:10300 -v /home/pogmom/Dockers/wyoming_whisper/data:/data rhasspy/wyoming-whisper --model tiny-int8 --language en