removed stacks and using normal docker but with seperated compose files

This commit is contained in:
poslop
2024-10-29 13:51:35 -05:00
parent 0e5da4b9f1
commit e64814cebb
17 changed files with 289 additions and 241 deletions

View File

@@ -1,6 +1,7 @@
services: services:
bookstack: bookstack:
image: lscr.io/linuxserver/bookstack image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -9,32 +10,31 @@ services:
- DB_HOST=bookstack_db - DB_HOST=bookstack_db
- DB_PORT=3306 - DB_PORT=3306
- DB_USER=bookstack - DB_USER=bookstack
- DB_PASS=/run/secrets/PASS - DB_PASS=${PASS}
- DB_DATABASE=bookstackapp - DB_DATABASE=bookstackapp
volumes: volumes:
- bookstack:/config - bookstack:/config
restart: unless-stopped
depends_on: depends_on:
- bookstack_db - bookstack_db
secrets:
- PASS
networks: networks:
- caddy - caddy
- bookstack - bookstack
bookstack_db: bookstack_db:
image: lscr.io/linuxserver/mariadb image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=America/Chicago - TZ=America/Chicago
- MYSQL_ROOT_PASSWORD=/run/secrets/PASS - MYSQL_ROOT_PASSWORD=${PASS}
- MYSQL_DATABASE=bookstackapp - MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack - MYSQL_USER=bookstack
- MYSQL_PASSWORD=/run/secrets/PASS - MYSQL_PASSWORD=${PASS}
volumes: volumes:
- bookstack_db:/config - bookstack_db:/config
secrets: restart: unless-stopped
- PASS
networks: networks:
- bookstack - bookstack
@@ -48,9 +48,7 @@ networks:
volumes: volumes:
bookstack: bookstack:
name: bookstack name: bookstack
external: true
bookstack_db: bookstack_db:
name: bookstack_db name: bookstack_db
secrets:
PASS:
external: true external: true

View File

@@ -1,5 +1,6 @@
services: services:
gitea: gitea:
container_name: gitea
image: gitea/gitea:latest image: gitea/gitea:latest
environment: environment:
- GITEA__service__DISABLE_REGISTRATION=true - GITEA__service__DISABLE_REGISTRATION=true
@@ -9,6 +10,7 @@ services:
- gitea:/data - gitea:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
restart: unless-stopped
networks: networks:
- caddy - caddy
@@ -20,3 +22,4 @@ networks:
volumes: volumes:
gitea: gitea:
name: gitea name: gitea
external: true

View File

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

View File

@@ -1,6 +1,7 @@
services: services:
prowlarr: prowlarr:
image: lscr.io/linuxserver/prowlarr:latest image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -9,12 +10,14 @@ services:
- prowlarr:/config - prowlarr:/config
ports: ports:
- 9696:9696 - 9696:9696
restart: unless-stopped
networks: networks:
- arr - arr
- qbit - qbit
sonarr: sonarr:
image: lscr.io/linuxserver/sonarr:latest image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@@ -24,6 +27,7 @@ services:
- /mnt/massdrive/media:/mnt/media - /mnt/massdrive/media:/mnt/media
ports: ports:
- 8989:8989 - 8989:8989
restart: unless-stopped
networks: networks:
- arr - arr
- qbit - qbit
@@ -39,5 +43,7 @@ networks:
volumes: volumes:
prowlarr: prowlarr:
name: prowlarr name: prowlarr
external: true
sonarr: sonarr:
name: sonarr name: sonarr
external: true

View File

@@ -1,15 +1,19 @@
services: services:
jellyfin: jellyfin:
image: lscr.io/linuxserver/jellyfin:latest image: lscr.io/linuxserver/jellyfin:latest
devices: container_name: jellyfin
devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=America/Chicago - TZ=America/Chicago
volumes: volumes:
- jellyfin:/config - jellyfin:/config
- /mnt/massdrive/media:/data - /mnt/massdrive/media:/data
ports:
- 8096:8096
restart: unless-stopped
networks: networks:
- caddy - caddy
- shoko - shoko
@@ -25,3 +29,4 @@ networks:
volumes: volumes:
jellyfin: jellyfin:
name: 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

@@ -1,25 +0,0 @@
services:
technitium:
image: technitium/dns-server:latest
environment:
- DNS_SERVER_DOMAIN=technitium
- DNS_SERVER_ADMIN_PASSWORD=/run/secrets/PASS
volumes:
- technitium:/etc/dns
secrets:
- PASS
networks:
- host
volumes:
technitium:
name: technitium
secrets:
PASS:
external: true
networks:
host:
name: host
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

@@ -1,11 +1,13 @@
services: services:
searxng: searxng:
image: searxng/searxng:latest image: searxng/searxng:latest
environment: container_name: searxng
environment:
- BASE_URL=https://searxng.mintyserver.net - BASE_URL=https://searxng.mintyserver.net
volumes: volumes:
- searxng:/etc/searxng - searxng:/etc/searxng
networks: restart: unless-stopped
networks:
- caddy - caddy
networks: networks:
@@ -16,3 +18,4 @@ networks:
volumes: volumes:
searxng: searxng:
name: searxng name: searxng
external: true

View File

@@ -1,190 +0,0 @@
networks:
caddy:
name: caddy
external: true
qbit:
name: qbit
shoko:
name: shoko
external: true
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.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
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
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
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
qbittorrent:
name: qbittorrent
external: true
shoko:
name: shoko
external: true
ariang:
name: ariang
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
bitmonero:
name: bitmonero
p2pool-data:
name: p2pool-data
gluetun:
name: gluetun

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."