Compare commits

...

12 Commits

Author SHA1 Message Date
poslop
212833ca3c Merge pull request 'dev' (#4) from dev into main
Reviewed-on: https://git.mintyserver.net/poslop/DockerConfigs/pulls/4
2024-10-29 15:02:53 -05:00
poslop
4c34f4a17f Merge branch 'main' into dev 2024-10-29 15:01:50 -05:00
poslop
40bce017b4 cleaned some compose files 2024-10-29 14:59:49 -05:00
poslop
e64814cebb removed stacks and using normal docker but with seperated compose files 2024-10-29 13:51:35 -05:00
poslop
0e5da4b9f1 convert arr to stack 2024-10-14 13:24:51 -05:00
poslop
e7952e97f8 convert technitium to stack 2024-10-11 15:27:12 -05:00
poslop
296c755f83 convert jellyfin to stack 2024-10-11 13:53:29 -05:00
poslop
37c1448334 convert searxng to stack 2024-10-11 13:05:34 -05:00
poslop
c50d2ce03a convert vault to stack 2024-10-11 12:46:41 -05:00
poslop
c03b641fd8 convert gitea to stack 2024-10-11 12:15:32 -05:00
poslop
c2bf5cc443 bookstack 2024-10-11 11:58:24 -05:00
poslop
33c45bf785 prep for seperating compose into srevices 2024-09-26 14:20:01 -05:00
16 changed files with 455 additions and 383 deletions

View File

@@ -0,0 +1,54 @@
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- APP_URL=https://bookstack.mintyserver.net
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USER=bookstack
- DB_PASS=${PASS}
- DB_DATABASE=bookstackapp
volumes:
- bookstack:/config
restart: unless-stopped
depends_on:
- bookstack_db
networks:
- caddy
- bookstack
bookstack_db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- MYSQL_ROOT_PASSWORD=${PASS}
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=${PASS}
volumes:
- bookstack_db:/config
restart: unless-stopped
networks:
- bookstack
networks:
caddy:
name: caddy
external: true
bookstack:
name: bookstack
volumes:
bookstack:
name: bookstack
external: true
bookstack_db:
name: bookstack_db
external: true

View File

@@ -0,0 +1,25 @@
services:
gitea:
container_name: gitea
image: gitea/gitea:latest
environment:
- GITEA__service__DISABLE_REGISTRATION=true
- USER_UID=1000
- USER_GID=1000
volumes:
- gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
networks:
- caddy
networks:
caddy:
name: caddy
external: true
volumes:
gitea:
name: gitea
external: true

View File

@@ -0,0 +1,24 @@
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.mintyserver.net"
WEBSOCKET_ENABLED: true
SIGNUPS_ALLOWED: false
ADMIN_TOKEN: ${PASS}
volumes:
- vaultwarden:/data
networks:
- caddy
networks:
caddy:
name: caddy
external: true
volumes:
vaultwarden:
name: vaultwarden
external: true

View File

@@ -0,0 +1,48 @@
services:
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- prowlarr:/config
ports:
- 9696:9696
restart: unless-stopped
networks:
- arr
- qbit
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- sonarr:/config
- /mnt/massdrive/media:/mnt/media
ports:
- 8989:8989
restart: unless-stopped
networks:
- arr
- qbit
networks:
arr:
name: arr
qbit:
name: qbit
external: true
volumes:
prowlarr:
name: prowlarr
external: true
sonarr:
name: sonarr
external: true

View File

@@ -0,0 +1,32 @@
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
devices:
- /dev/dri:/dev/dri
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- jellyfin:/config
- /mnt/massdrive/media:/data
ports:
- 8096:8096
restart: unless-stopped
networks:
- caddy
- shoko
networks:
caddy:
name: caddy
external: true
shoko:
name: shoko
external: true
volumes:
jellyfin:
name: jellyfin
external: true

View File

@@ -0,0 +1,27 @@
services:
shoko:
shm_size: 256m
container_name: shoko
image: shokoanime/server:daily
restart: always
environment:
- "PUID=1000"
- "PGID=1000"
- "TZ=Etc/UTC"
ports:
- "8111:8111"
volumes:
- shoko:/home/shoko/.shoko
- /mnt/massdrive/media:/mnt/media
networks:
- shoko
networks:
shoko:
name: shoko
external: true
volumes:
shoko:
name: shoko
external: true

View File

@@ -0,0 +1,37 @@
services:
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
cap_add:
- NET_ADMIN
ports:
- 80:80
- 443:443
- 443:443/udp
volumes:
- caddy_set:/etc/caddy
- caddy_srv:/srv
- caddy_data:/data
- caddy_config:/config
networks:
- caddy
networks:
caddy:
name: caddy
external: true
volumes:
caddy_config:
name: caddy_config
external: true
caddy_data:
name: caddy_data
external: true
caddy_srv:
name: caddy_srv
external: true
caddy_set:
name: caddy_set
external: true

View File

@@ -0,0 +1,31 @@
services:
gluetun:
image: ghcr.io/qdm12/gluetun
cap_add:
- NET_ADMIN
container_name: gluetun
environment:
- VPN_SERVICE_PROVIDER=mullvad
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=${MULLKEY}
- WIREGUARD_ADDRESSES=10.73.138.162/32
- SERVER_CITIES=Chicago IL
volumes:
- gluetun:/gluetun
ports:
- 8181:8181
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
networks:
- mullvad
networks:
mullvad:
name: mullvad
external: true
volumes:
gluetun:
name: gluetun
external: true

View File

@@ -0,0 +1,17 @@
services:
technitium:
container_name: technitium
image: technitium/dns-server:latest
network_mode: "host"
environment:
- DNS_SERVER_DOMAIN=technitium
- DNS_SERVER_ADMIN_PASSWORD=${PASS}
volumes:
- technitium:/etc/dns
restart: unless-stopped
volumes:
technitium:
name: technitium
external: true

View File

@@ -0,0 +1,27 @@
services:
ariang:
image: hurlenko/aria2-ariang
container_name: aria
restart: unless-stopped
volumes:
- /mnt/nextcloud:/aria2/data
- ariang:/aria2/conf
environment:
- PUID=1000
- PGID=1000
- RPC_SECRET=${PASS}
- BASIC_AUTH_USERNAME=poslop
- BASIC_AUTH_PASSWORD=${PASS}
- ARIA2RPCPORT=443
networks:
- caddy
volumes:
ariang:
name: ariang
external: true
networks:
caddy:
name: caddy
external: true

View File

@@ -0,0 +1,27 @@
services:
monerod:
image: sethsimmons/simple-monerod:latest
restart: unless-stopped
container_name: monerod
volumes:
- bitmonero:/home/monero/.bitmonero:rw
ports:
- 18080:18080
- 18089:18089
- 18083:18083
command:
- "--add-priority-node=p2pmd.xmrvsbeast.com:18080"
- "--out-peers=32"
- "--in-peers=64"
- "--disable-dns-checkpoints"
- "--rpc-restricted-bind-ip=0.0.0.0"
- "--rpc-restricted-bind-port=18089"
- "--no-igd"
- "--enable-dns-blocklist"
- "--prune-blockchain"
- "--zmq-pub=tcp://0.0.0.0:18083"
volumes:
bitmonero:
name: bitmonero
external: true

View File

@@ -0,0 +1,21 @@
services:
nextcloud:
container_name: nextcloud-aio-mastercontainer
init: true
restart: unless-stopped
image: nextcloud/all-in-one:latest
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8080:8080
environment:
- APACHE_PORT=11000
- APACHE_IP_BINDING=0.0.0.0
- NEXTCLOUD_MOUNT=/mnt/nextcloud/
- NEXTCLOUD_MEMORY_LIMIT=4096M
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
external: true

View File

@@ -0,0 +1,23 @@
services:
p2pool:
image: sethsimmons/p2pool:latest
restart: unless-stopped
container_name: p2pool
tty: true
stdin_open: true
volumes:
- p2pool-data:/home/p2pool
- /dev/hugepages:/dev/hugepages:rw
ports:
- 3333:3333
- 37889:37889
command: >-
--wallet "48Whozrwq4jDA6JZ3vJw3Z22VFCCdi4MnLDH5WfHX33w8ehHZ3hRsJC6JBFmgau8BjbXzfL6Um1GdGNfzzbqueDGPhSusji"
--stratum "0.0.0.0:3333" --p2p "0.0.0.0:37889" --rpc-port "18089"
--host "monerod"
--loglevel 1
volumes:
p2pool-data:
name: p2pool-data
external: true

View File

@@ -0,0 +1,21 @@
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=https://searxng.mintyserver.net
volumes:
- searxng:/etc/searxng
restart: unless-stopped
networks:
- caddy
networks:
caddy:
name: caddy
external: true
volumes:
searxng:
name: searxng
external: true

View File

@@ -1,383 +0,0 @@
networks:
caddy:
name: caddy
qbit:
name: qbit
shoko:
name: shoko
arr:
name: arr
bookstack:
name: bookstack
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- APP_URL=https://bookstack.mintyserver.net
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USER=bookstack
- DB_PASS=${PASS}
- DB_DATABASE=bookstackapp
volumes:
- bookstack:/config
restart: unless-stopped
depends_on:
- bookstack_db
networks:
- caddy
- bookstack
bookstack_db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- MYSQL_ROOT_PASSWORD=${PASS}
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=${PASS}
volumes:
- bookstack_db:/config
restart: unless-stopped
networks:
- bookstack
maigret:
image: soxoj/maigret:latest
container_name: maigret
volumes:
- /mnt/nextcloud/poslop/Maigret:/app/reports
gluetun:
image: ghcr.io/qdm12/gluetun
cap_add:
- NET_ADMIN
container_name: gluetun
environment:
- VPN_SERVICE_PROVIDER=mullvad
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=${MULLKEY}
- WIREGUARD_ADDRESSES=10.64.21.169/32
- SERVER_CITIES=Chicago IL
volumes:
- gluetun:/gluetun
ports:
- 8181:8181
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
networks:
- qbit
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
cap_add:
- NET_ADMIN
ports:
- 80:80
- 443:443
- 443:443/udp
volumes:
- caddy_set:/etc/caddy
- caddy_srv:/srv
- caddy_data:/data
- caddy_config:/config
networks:
- caddy
technitium:
container_name: technitium
image: technitium/dns-server:latest
network_mode: "host"
environment:
- DNS_SERVER_DOMAIN=technitium
- DNS_SERVER_ADMIN_PASSWORD=${PASS}
volumes:
- technitium:/etc/dns
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- prowlarr:/config
ports:
- 9696:9696
restart: unless-stopped
networks:
- arr
- qbit
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- sonarr:/config
- /mnt/massdrive/media:/mnt/media
ports:
- 8989:8989
restart: unless-stopped
networks:
- arr
- qbit
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- WEBUI_PORT=8181
network_mode: "service:gluetun"
volumes:
- qbittorrent:/config
- /mnt/nextcloud:/mnt/files
restart: unless-stopped
depends_on:
gluetun:
condition: service_healthy
shoko:
shm_size: 256m
container_name: shoko
image: shokoanime/server:daily
restart: always
environment:
- "PUID=1000"
- "PGID=1000"
- "TZ=Etc/UTC"
ports:
- "8111:8111"
volumes:
- shoko:/home/shoko/.shoko
- /mnt/massdrive/media:/mnt/media
networks:
- shoko
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.mintyserver.net"
WEBSOCKET_ENABLED: true
SIGNUPS_ALLOWED: false
ADMIN_TOKEN: ${PASS}
volumes:
- vaultwarden:/data
networks:
- caddy
ports:
- 8089:80
monerod:
image: sethsimmons/simple-monerod:latest
restart: unless-stopped
container_name: monerod
volumes:
- bitmonero:/home/monero/.bitmonero:rw
ports:
- 18080:18080
- 18089:18089
- 18083:18083
command:
- "--add-priority-node=p2pmd.xmrvsbeast.com:18080"
- "--out-peers=32"
- "--in-peers=64"
- "--disable-dns-checkpoints"
- "--rpc-restricted-bind-ip=0.0.0.0"
- "--rpc-restricted-bind-port=18089"
- "--no-igd"
- "--enable-dns-blocklist"
- "--prune-blockchain"
- "--zmq-pub=tcp://0.0.0.0:18083"
p2pool:
image: sethsimmons/p2pool:latest
restart: unless-stopped
container_name: p2pool
tty: true
stdin_open: true
volumes:
- p2pool-data:/home/p2pool
- /dev/hugepages:/dev/hugepages:rw
ports:
- 3333:3333
- 37889:37889
command: >-
--wallet "48Whozrwq4jDA6JZ3vJw3Z22VFCCdi4MnLDH5WfHX33w8ehHZ3hRsJC6JBFmgau8BjbXzfL6Um1GdGNfzzbqueDGPhSusji"
--stratum "0.0.0.0:3333" --p2p "0.0.0.0:37889" --rpc-port "18089"
--host "monerod"
--loglevel 1
ariang:
image: hurlenko/aria2-ariang
container_name: aria
restart: unless-stopped
volumes:
- /mnt/nextcloud:/aria2/data
- ariang:/aria2/conf
environment:
- PUID=1000
- PGID=1000
- RPC_SECRET=${PASS}
- BASIC_AUTH_USERNAME=poslop
- BASIC_AUTH_PASSWORD=${PASS}
- ARIA2RPCPORT=443
networks:
- caddy
searxng:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=https://searxng.mintyserver.net
volumes:
- searxng:/etc/searxng
restart: unless-stopped
networks:
- caddy
puffer:
image: pufferpanel/pufferpanel:latest
container_name: puffer
restart: always
volumes:
- puffer-config:/etc/pufferpanel
- /var/lib/pufferpanel:/var/lib/pufferpanel
- /var/run/docker.sock:/var/run/docker.sock
networks:
- caddy
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- GITEA__service__DISABLE_REGISTRATION=true
- USER_UID=1000
- USER_GID=1000
restart: always
volumes:
- gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3030:3000"
networks:
- caddy
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
devices:
- /dev/dri:/dev/dri
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- jellyfin:/config
- /mnt/massdrive/media:/data
ports:
- 8096:8096
restart: unless-stopped
networks:
- caddy
- shoko
nextcloud:
container_name: nextcloud-aio-mastercontainer
init: true
restart: unless-stopped
image: nextcloud/all-in-one:latest
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8080:8080
environment:
- APACHE_PORT=11000
- APACHE_IP_BINDING=0.0.0.0
- NEXTCLOUD_MOUNT=/mnt/nextcloud/
- NEXTCLOUD_MEMORY_LIMIT=4096M
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
volumes:
caddy_config:
name: caddy_config
caddy_data:
name: caddy_data
caddy_srv:
name: caddy_srv
caddy_set:
name: caddy_set
vaultwarden:
name: vaultwarden
external: true
qbittorrent:
name: qbittorrent
external: true
shoko:
name: shoko
external: true
ariang:
name: ariang
puffer-config:
name: puffer-config
searxng:
name: searxng
external: true
jellyfin:
name: jellyfin
gitea:
name: gitea
technitium:
name: technitium
external: true
sonarr:
name: sonarr
prowlarr:
name: prowlarr
external: true
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
bitmonero:
name: bitmonero
p2pool-data:
name: p2pool-data
gluetun:
name: gluetun
bookstack:
name: bookstack
bookstack_db:
name: booksstack_db

41
scripts/run-all.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
# Define the path to the .env file (root-level)
ENV_FILE="/mnt/docker/.env"
# Base directory where the service Compose files are located
COMPOSE_DIR="/mnt/docker/docker-compose.d"
# List of service directories under docker-compose.d
services=(
"Documentation/bookstack.yml"
"Documentation/gitea.yml"
"Documentation/vaultwarden.yml"
"Media/arr.yml"
"Media/jellyfin.yml"
"Media/shoko.yml"
"Networking/gluetun.yml"
"Networking/technitium.yml"
"Networking/caddy.yml"
"Tools/searxng.yml"
"Tools/monerod.yml"
"Tools/p2pool.yml"
"Tools/ariang.yml"
"Tools/nextcloud-aio.yml"
)
# Start building the docker compose command with multiple -f flags
COMPOSE_COMMAND="docker compose --env-file \"$ENV_FILE\""
# Loop through each service and append the -f flag for each compose file
for service in "${services[@]}"; do
COMPOSE_COMMAND+=" -f \"$COMPOSE_DIR/$service\""
done
# Add the up command to the final docker compose command
COMPOSE_COMMAND+=" up -d"
# Execute the composed command
eval $COMPOSE_COMMAND
echo "All services have been started."