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
8
.env_template
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#SYSINFO
|
||||||
|
TZ=
|
||||||
|
UID=
|
||||||
|
GID=
|
||||||
|
|
||||||
|
#PATHS
|
||||||
|
DATA_PATH=
|
||||||
|
MEDIA_PATH=
|
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
.env
|
||||||
|
**/.env
|
||||||
|
**/*.env
|
12
README.md
12
README.md
|
@ -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
9
auth/auth.env_template
Normal 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
63
auth/docker-compose.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:
|
||||||
|
- ${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
|
37
monitoring/docker-compose.yml
Normal file
37
monitoring/docker-compose.yml
Normal 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
|
5
monitoring/monitoring.env_template
Normal file
5
monitoring/monitoring.env_template
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#networking
|
||||||
|
MONITOR_SUBNET_PREFIX=
|
||||||
|
#ports
|
||||||
|
ORGANIZR_PORT=
|
||||||
|
KUMA_PORT=
|
27
networking/docker-compose.yml
Normal file
27
networking/docker-compose.yml
Normal 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
|
18
networking/networking.env_template
Normal file
18
networking/networking.env_template
Normal 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=
|
65
searxng/docker-compose.yml
Normal file
65
searxng/docker-compose.yml
Normal 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
|
7
searxng/searxng.env_template
Normal file
7
searxng/searxng.env_template
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#vpn
|
||||||
|
WG_PRIV_KEY=
|
||||||
|
WG_COUNTRIES=
|
||||||
|
#searxng
|
||||||
|
SEARXNG_HOSTNAME=
|
||||||
|
#ports
|
||||||
|
SEARXNG_PORT=
|
36
smarthome/docker-compose.yml
Normal file
36
smarthome/docker-compose.yml
Normal 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
|
4
smarthome/smarthome.env_template
Normal file
4
smarthome/smarthome.env_template
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#tts/stt
|
||||||
|
WYOMING_PIPER_PORT=
|
||||||
|
WYOMING_WHISPER_PORT=
|
||||||
|
|
Loading…
Add table
Reference in a new issue