This commit is contained in:
2026-04-05 16:13:37 -04:00
parent 87a14e9db1
commit 56e2a38f82
30 changed files with 7 additions and 511 deletions
+3
View File
@@ -0,0 +1,3 @@
immich.env
downloadin.env
matrix.env
+12
View File
@@ -0,0 +1,12 @@
#!/run/current-system/sw/bin/bash
SERVICE_NAMES=(
# "paperless"
# "immich"
# "navidrome"
"downloadin"
# "matrix"
)
for SERVICE in "${SERVICE_NAMES[@]}"; do
docker compose --env-file /etc/.soupclown.env -f $(pwd)/${SERVICE}-compose.yaml down
done
+12
View File
@@ -0,0 +1,12 @@
#!/run/current-system/sw/bin/bash
SERVICE_NAMES=(
# "paperless"
# "immich"
# "navidrome"
"downloadin"
# "matrix"
)
for SERVICE in "${SERVICE_NAMES[@]}"; do
docker compose --env-file /etc/.soupclown.env -f $(pwd)/${SERVICE}-compose.yaml pull
done
+12
View File
@@ -0,0 +1,12 @@
#!/run/current-system/sw/bin/bash
SERVICE_NAMES=(
# "paperless"
# "immich"
# "navidrome"
"downloadin"
# "matrix"
)
for SERVICE in "${SERVICE_NAMES[@]}"; do
docker compose --env-file /etc/.soupclown.env -f $(pwd)/${SERVICE}-compose.yaml up -d
done
+167
View File
@@ -0,0 +1,167 @@
services:
vpn:
container_name: vpn
image: qmcgaw/gluetun:v3.40
cap_add:
- NET_ADMIN # Quin does not like these
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ${DOWNLOAD_ETC_PATH}/gluetun:/gluetun
environment:
- VPN_SERVICE_PROVIDER=private internet access
- SERVER_REGIONS=Netherlands
- OPENVPN_USER=${PIA_USERNAME}
- OPENVPN_PASSWORD=${PIA_PASSWORD}
- UPDATER_PERIOD=24h
ports:
- 9091:9091 # Transmission
- 51413:51413 # Transmission
- 51413:51413/udp # Transmission
- 9696:9696 # Prowlarr
- 7878:7878 # Radarr
- 8989:8989 # Sonarr
- 3333:3333 # bitmagnet API and WebUI port
- 3334:3334/tcp # bitmagnet BitTorrent ports
- 3334:3334/udp # bitmagnet BitTorrent ports
- 5055:5055 # seerr
# - 8112:8112 # Deluge
# - 6881:6881 # Deluge
# - 6881:6881/udp # Deluge
# - 58846:58846 # idk Deluge
restart: unless-stopped
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
network_mode: "service:vpn"
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
volumes:
- ${DOWNLOAD_ETC_PATH}/transmission:/config
- ${DOWNLOAD_IN_PROGRESS_PATH}:/downloads
- /mnt/mega/jellyfinMedia:/media
restart: unless-stopped
prowlarr:
container_name: prowlarr
image: lscr.io/linuxserver/prowlarr:latest
network_mode: "service:vpn"
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
volumes:
- ${DOWNLOAD_ETC_PATH}/prowlarr:/config
depends_on:
vpn:
condition: service_started
restart: true
required: true
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
network_mode: "service:vpn"
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- ${DOWNLOAD_ETC_PATH}/radarr:/config
- ${DOWNLOAD_IN_PROGRESS_PATH}:/downloads #optional
- /mnt/mega/jellyfinMedia:/media
depends_on:
vpn:
condition: service_started
restart: true
required: true
prowlarr:
condition: service_started
restart: true
required: true
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
network_mode: "service:vpn"
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- ${DOWNLOAD_ETC_PATH}/sonarr:/config
- ${DOWNLOAD_IN_PROGRESS_PATH}:/downloads #optional
- /mnt/mega/jellyfinMedia:/media
depends_on:
vpn:
condition: service_started
restart: true
required: true
prowlarr:
condition: service_started
restart: true
required: true
restart: unless-stopped
bitmagnet:
image: ghcr.io/bitmagnet-io/bitmagnet:latest
container_name: bitmagnet
restart: unless-stopped
network_mode: "service:vpn"
environment:
- POSTGRES_PASSWORD=${DOWNLOAD_BITMAGENT_DB_PASS}
- TMDB_API_KEY=${TMDB_API_KEY}
volumes:
- ${SOUPCLOWN_ETC_PATH}/downloadin/bitmagnet/etc:/root/.config/bitmagnet
command:
- worker
- run
- --keys=http_server
- --keys=queue_server
# disable the next line to run without DHT crawler
- --keys=dht_crawler
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
container_name: bitmagnet-postgres
network_mode: "service:vpn"
volumes:
- ${SOUPCLOWN_ETC_PATH}/downloadin/bitmagnet/postgresdata:/var/lib/postgresql/data
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${DOWNLOAD_BITMAGENT_DB_PASS}
- POSTGRES_DB=bitmagnet
- PGUSER=postgres
shm_size: 1g
healthcheck:
test:
- CMD-SHELL
- pg_isready
start_period: 20s
interval: 10s
seerr:
image: ghcr.io/seerr-team/seerr:latest
init: true
container_name: seerr
network_mode: "service:vpn"
restart: unless-stopped
environment:
- TZ=${TZ}
- LOG_LEVEL=debug
volumes:
- ${SOUPCLOWN_ETC_PATH}/seer:/app/config
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
+75
View File
@@ -0,0 +1,75 @@
#
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
#
# Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
name: immich
services:
immich-server:
container_name: immich-server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of IMMICH_UPLOAD_LOCATION in the .env file
- ${IMMICH_UPLOAD_LOCATION}:/data
- /mnt/mega/immich/old-album:/old-album
- /etc/localtime:/etc/localtime:ro
env_file:
- /etc/.soupclown.env
ports:
- "2283:2283"
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
immich-machine-learning:
container_name: immich-machine-learning
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
env_file:
- /etc/.soupclown.env
restart: always
healthcheck:
disable: false
redis:
container_name: immich-redis
image: docker.io/valkey/valkey:9@sha256:fb8d272e529ea567b9bf1302245796f21a2672b8368ca3fcb938ac334e613c8f
healthcheck:
test: redis-cli ping || exit 1
restart: always
database:
container_name: immich-postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
environment:
POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD}
POSTGRES_USER: ${IMMICH_DB_USERNAME}
POSTGRES_DB: ${IMMICH_DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: "--data-checksums"
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of IMMICH_DB_DATA_LOCATION in the .env file
- ${IMMICH_DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always
volumes:
model-cache:
+24
View File
@@ -0,0 +1,24 @@
services:
matrix:
image: docker.io/jadedblueeyes/continuwuity
container_name: matrix
restart: unless-stopped
ports:
- 6167:6167
volumes:
- ${MATRIX_ETC_PATH}:/var/lib/continuwuity
environment:
CONTINUWUITY_SERVER_NAME: soupclown.com
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
CONTINUWUITY_PORT: 6167
CONTINUWUITY_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
CONTINUWUITY_ALLOW_REGISTRATION: "true"
CONTINUWUITY_REGISTRATION_TOKEN: ${CONTINUWUITY_REGISTRATION_TOKEN}
CONTINUWUITY_ALLOW_FEDERATION: "true"
CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES: "true"
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'
CONTINUWUITY_ADDRESS: 0.0.0.0
#CONTINUWUITY_LOG: warn,state_res=warn
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
volumes:
db:
+11
View File
@@ -0,0 +1,11 @@
services:
navidrome:
container_name: navidrome
image: deluan/navidrome:latest
user: 1000:1000
ports:
- "4533:4533"
volumes:
- /root/navidrome:/data
- /mnt/mega/beetsMusic:/music
restart: unless-stopped
+62
View File
@@ -0,0 +1,62 @@
# Docker Compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this Docker Compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker compose pull'.
# - Run 'docker compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
services:
broker:
container_name: paperless-redis
image: docker.io/library/redis:8
restart: unless-stopped
volumes:
- /root/paperless/redisdata:/data
db:
container_name: paperless-postgres
image: docker.io/library/postgres:18
restart: unless-stopped
volumes:
- /root/paperless/pgdata:/var/lib/postgresql
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
container_name: paperless-web
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- "8000:8000"
volumes:
- /mnt/mega/paperless_data:/usr/src/paperless/data
- /mnt/mega/paperless_media:/usr/src/paperless/media
- /mnt/mega/paperless/export:/usr/src/paperless/export
- /mnt/mega/paperless/consume:/usr/src/paperless/consume
env_file: /etc/.soupclown.env
environment:
PAPERLESS_URL: https://paperless.soupclown.com
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db