Dockers/docker-compose.yml
Penelope Gwen e0f4da9623 migrating
2023-12-30 05:15:57 -07:00

202 lines
5.7 KiB
YAML

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