Compare commits

...

No commits in common. "main" and "network" have entirely different histories.

13 changed files with 282 additions and 12 deletions

8
.env_template Normal file
View file

@ -0,0 +1,8 @@
#SYSINFO
TZ=
UID=
GID=
#PATHS
DATA_PATH=
MEDIA_PATH=

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
.env
**/.env
**/*.env

View file

@ -1,12 +0,0 @@
# Pogmom's Docker Composes
Docker composes are separated by branches corresponding to the machine they will be run on. Please change branches to view the docker composes.
##Usage:
1. clone desired branch `git clone -b branchname --single-branch https://github.com/pogmommy/Dockers.git && cd Dockers`
2. move or copy .env_template to .env `cp .env_template .env`
3. edit .env as needed to fill in your appropiate values- be sure to check out the projects linked in docker-compose.yml for documentation
4. edit docker-compose.yml to fit your needs
5. build and run containers `sudo docker-compose up -d`
6. follow any other setup needed according to the relevant containers

9
auth/auth.env_template Normal file
View file

@ -0,0 +1,9 @@
#networking
AUTH_SUBNET_PREFIX=
#lldap
LLDAP_SERVER=
#ports
AUTHELIA_PORT=
LLDAP_LDAP_PORT=
LLDAP_LDAPS_PORT=
LLDAP_WEBUI_PORT=

63
auth/docker-compose.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:
- ${AUTHELIA_PORT}: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

@ -0,0 +1,37 @@
version: "3.8"
networks:
docker-local:
driver: bridge
ipam:
driver: default
config:
- subnet: ${MONITOR_SUBNET_PREFIX}0/24
services:
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

View file

@ -0,0 +1,5 @@
#networking
MONITOR_SUBNET_PREFIX=
#ports
ORGANIZR_PORT=
KUMA_PORT=

View file

@ -0,0 +1,27 @@
version: "3.8"
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
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
network_mode: host
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
restart: unless-stopped

View file

@ -0,0 +1,18 @@
#networking
NETWORKING_SUBNET_PREFIX=
#ports
DDNS_PORT=
NGINX_HTTP_PORT=
NGINX_WEBUI_PORT=
NGINX_HTTPS_PORT=
#ports forwarded through nginx
MC_JAVA_PORT=
MC_BEDROCK_PORT=
MC_VOICE_PORT=
TERRARIA_PORT=
NC_TALK_PORT=
GITEA_SSH_PORT=
GITEA_SSH_PORT_ALT=
SMTP_PORT=
IMAP_PORT=

View file

@ -0,0 +1,65 @@
version: "3.7"
volumes:
valkey-data2:
services:
gluetun: # pipe container traffic through vpn https://hub.docker.com/r/qmcgaw/gluetun
image: qmcgaw/gluetun:latest
container_name: gluetun-searxng
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=protonvpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=${WG_PRIV_KEY}
- SERVER_COUNTRIES=${WG_COUNTRIES}
- VPN_PORT_FORWARDING=off
ports:
- ${SEARXNG_PORT}:8080
restart: unless-stopped
searxng-redis:
container_name: searxng-redis
image: docker.io/valkey/valkey:7-alpine
command: valkey-server --save 30 1 --loglevel warning
restart: unless-stopped
network_mode: "service:gluetun"
volumes:
- valkey-data2:/data
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
searxng:
container_name: searxng
image: docker.io/searxng/searxng:latest
restart: unless-stopped
network_mode: "service:gluetun"
volumes:
- ${DATA_PATH}/searxng/data:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME}/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
depends_on:
- searxng-redis
- gluetun

View file

@ -0,0 +1,7 @@
#vpn
WG_PRIV_KEY=
WG_COUNTRIES=
#searxng
SEARXNG_HOSTNAME=
#ports
SEARXNG_PORT=

View file

@ -0,0 +1,36 @@
version: "3.8"
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
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
volumes:
- ${DATA_PATH}/wyoming_whisper/data:/data
ports:
- ${WYOMING_WHISPER_PORT}:10300
command: --model tiny-int8 --language en
restart: unless-stopped

View file

@ -0,0 +1,4 @@
#tts/stt
WYOMING_PIPER_PORT=
WYOMING_WHISPER_PORT=