Further corrected *Arr app hardlinks. Removed unused music apps. Added additional Gramps Tree because fuck multi-tree.

This commit is contained in:
2025-10-11 05:12:57 +00:00
parent 700eb145bf
commit 0816309e1b

View File

@@ -9,7 +9,7 @@ services:
- TZ=${TZ}
volumes:
- /docker-local/Arrs/Bazarr/config:/config
- /data/:/data/
- /data/media:/data/media
ports:
- 6767:6767
networks:
@@ -39,7 +39,7 @@ services:
volumes:
- /docker-local/Arrs/Jellyfin/config:/config
- /docker-local/Arrs/Jellyfin/cache:/cache
- /data:/data
- /data/media:/data/media
- /dev/dri/:/dev/dri/
ports:
- 8096:8096
@@ -72,8 +72,7 @@ services:
- TZ=${TZ}
volumes:
- /docker-local/Arrs/Lidarr/config:/config
- /data/torrents/complete/lidarr:/data/downloads/complete/lidarr
- /data/music:/data/music
- /data:/data
ports:
- 8686:8686
networks:
@@ -126,8 +125,7 @@ services:
- PGID=1000
volumes:
- /docker-local/Arrs/Radarr/config:/config
- /data/:/data/
- /data/torrents/complete/radarr:/data/downloads/complete/radarr
- /data:/data
ports:
- 7878:7878
networks:
@@ -145,7 +143,6 @@ services:
volumes:
- /docker-local/Arrs/Sonarr/config:/config
- /data:/data
- /data/torrents/complete/sonarr:/data/downloads/complete/sonarr
ports:
- 8989:8989
networks:
@@ -154,21 +151,6 @@ services:
restart: unless-stopped
# Music & Scrobbling
beets:
image: lscr.io/linuxserver/beets:latest
container_name: beets
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- /docker-local/beets/config:/config
- /data/music:/music
- /data/downloads:/downloads
ports:
- 8337:8337
restart: unless-stopped
maloja:
image: "krateng/maloja:latest"
container_name: maloja
@@ -222,22 +204,10 @@ services:
- SOURCE_API_KEY=${SOURCE_API_KEY}
restart: "unless-stopped"
pinchflat:
image: ghcr.io/kieraneglin/pinchflat:latest
container_name: pinchflat
environment:
- TZ=${TZ}
ports:
- '8945:8945'
volumes:
- /docker-local/pinchflat/config:/config
- /data/torrents/:/downloads
slskd:
image: slskd/slskd
container_name: slskd
hostname: slskd
# user: 1000:1000
environment:
- TZ=${TZ}
- SLSKD_REMOTE_CONFIGURATION=true
@@ -250,22 +220,73 @@ services:
volumes:
- /docker-local/slskd:/app
- /data:/data
- /data/torrents/slskd_downloads:/downloads
- /data/torrents/complete:/downloads
- /data/torrents/incomplete:/incomplete
networks:
arr_network:
ipv4_address: 172.20.0.10
restart: unless-stopped
soularr:
image: mrusse08/soularr:latest
container_name: soularr
hostname: soularr
user: 1000:1000
environment:
- TZ=${TZ}
- SCRIPT_INTERVAL=300
volumes:
- /data/torrents/slskd_downloads:/downloads
- ./services/soularr:/data
restart: unless-stopped
soulsync:
image: boulderbadgedad/soulsync:latest
container_name: soulsync-webui
environment:
# User/Group ID configuration
- PUID=1000
- PGID=1000
- UMASK=022
# Web server configuration
- FLASK_ENV=production
- PYTHONPATH=/app
# Optional: Configure through environment variables
- ./services/soulsync/config/config.json=/app/config/config.json
# Set timezone
- TZ=${TZ}
ports:
- "8887:8008" # Main web app
- "8888:8888" # Spotify OAuth callback
- "8889:8889" # Tidal OAuth callback
volumes:
# Persistent data volumes
# - ./config:/app/config
- ./services/soulsync/logs:/app/logs
- /data/torrents/complete/soulsync:/app/downloads
# Use named volume for database persistence (separate from host database)
- soulsync:/app/database
# IMPORTANT: Mount the drives containing your download and transfer folders
# If your download/transfer paths are on E: drive, mount E: drive:
# - /mnt/e:/host/mnt/e:rw
# Mount H: drive for transfer folder
# - /mnt/h:/host/mnt/h:rw
# If your download/transfer paths are on C: drive, uncomment this line:
# - /mnt/c:/host/mnt/c:rw
# If your download/transfer paths are on D: drive, uncomment this line:
# - /mnt/d:/host/mnt/d:rw
# Add additional drive mounts as needed for your specific setup
# Optional: Mount your music library for Plex/Jellyfin access
- /data/music:/music:ro
extra_hosts:
# Allow container to reach host services
- "host.docker.internal:host-gateway"
networks:
arr_network:
ipv4_address: 172.20.0.11
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8888/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# Resource limits (adjust as needed)
deploy:
resources:
limits:
cpus: '2.0'
memory: 2G
reservations:
cpus: '0.5'
memory: 512M
# Document Management
broker:
@@ -453,29 +474,52 @@ services:
- adventurelogserver
restart: unless-stopped
grampsweb: &grampsweb
grampsweb-jamie: &grampsweb
image: ghcr.io/gramps-project/grampsweb:latest
container_name: Gramps
container_name: grampsweb-jamie
environment:
GRAMPSWEB_TREE: "Gramps Web"
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
- GRAMPSWEB_TREE=Miller Tree
- GRAMPSWEB_CELERY_CONFIG__broker_url=redis://grampsweb_redis:6379/0
- GRAMPSWEB_CELERY_CONFIG__result_backend=redis://grampsweb_redis:6379/0
- GRAMPSWEB_RATELIMIT_STORAGE_URI=redis://grampsweb_redis:6379/1
volumes:
- /docker-local/gramps/gramps_users:/app/users
- /docker-local/gramps/gramps_index:/app/indexdir
- /docker-local/gramps/gramps_thumb_cache:/app/thumbnail_cache
- /docker-local/gramps/gramps_cache:/app/cache
- /docker-local/gramps/gramps_secret:/app/secret
- /docker-local/gramps/gramps_db:/root/.gramps/grampsdb
- /docker-local/gramps/gramps_media:/app/media
- /docker-local/gramps/gramps_tmp:/tmp
- /docker-local/gramps-jamie/gramps_users:/app/users
- /docker-local/gramps-jamie/gramps_index:/app/indexdir
- /docker-local/gramps-jamie/gramps_thumb_cache:/app/thumbnail_cache
- /docker-local/gramps-jamie/gramps_cache:/app/cache
- /docker-local/gramps-jamie/gramps_secret:/app/secret
- /docker-local/gramps-jamie/gramps_db:/app/data/.gramps/grampsdb
- /docker-local/gramps-jamie/gramps_media:/app/media
- /docker-local/gramps-jamie/gramps_tmp:/tmp
ports:
- "5511:5000"
depends_on:
- grampsweb_redis
restart: always
grampsweb-helen: &grampsweb
image: ghcr.io/gramps-project/grampsweb:latest
container_name: grampsweb-helen
environment:
- GRAMPSWEB_TREE=Heta Tree
- GRAMPSWEB_CELERY_CONFIG__broker_url=redis://grampsweb_redis:6379/0
- GRAMPSWEB_CELERY_CONFIG__result_backend=redis://grampsweb_redis:6379/0
- GRAMPSWEB_RATELIMIT_STORAGE_URI=redis://grampsweb_redis:6379/1
volumes:
- /docker-local/gramps-helen/gramps_users:/app/users
- /docker-local/gramps-helen/gramps_index:/app/indexdir
- /docker-local/gramps-helen/gramps_thumb_cache:/app/thumbnail_cache
- /docker-local/gramps-helen/gramps_cache:/app/cache
- /docker-local/gramps-helen/gramps_secret:/app/secret
- /docker-local/gramps-helen/gramps_db:/root/.gramps/grampsdb
- /docker-local/gramps-helen/gramps_media:/app/media
- /docker-local/gramps-helen/gramps_tmp:/tmp
ports:
- "5512:5000"
depends_on:
- grampsweb_redis
restart: always
grampsweb_celery:
<<: *grampsweb
container_name: grampsweb_celery
@@ -517,8 +561,8 @@ services:
ports:
- "4000:4000"
volumes:
- ./services/litellm/litellm-config.yaml:/app/config.yaml
- ./services/litellm/litellm-logs:/app/logs
- ./services/litellm/config.yaml:/app/config.yaml
- ./services/litellm/logs:/app/logs
environment:
- LITELLM_CONFIG=/app/config.yaml
- GROQ_API_KEY=${GROQ_API_KEY}
@@ -805,20 +849,32 @@ services:
- /var/run/docker.sock:/var/run/docker.sock
whisper:
image: linuxserver/faster-whisper:latest
container_name: faster-whisper
container_name: subgen
tty: true
image: mccloud/subgen:latest
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- WHISPER_MODEL=tiny-int8
- WHISPER_BEAM=1 #optional
- WHISPER_LANG=en #optional
- WHISPER_MODEL=large-v3-turbo
- WHISPER_THREADS=4
- JELLYFINTOKEN=${JELLYFIN_APIKEY}
- JELLYFINSERVER=${JELLYFIN_URL}
- WEBHOOKPORT=9000
- DEBUG=True
- TRANSCRIBE_OR_TRANSLATE=translate
- NAMESUBLANG=en
- TRANSCRIBE_DEVICE=cpu
- CLEAR_VRAM_ON_COMPLETE=True
- PROCADDEDMEDIA=True
- PROCMEDIAONPLAY=False
- UPDATE=True
- HF_HUB_DISABLE_SYMLINKS_WARNING=1
- HF_HUB_DISABLE_SYMLINKS_SUPPORT=1
- XDG_CACHE_HOME=/subgen/models
volumes:
- ./services/whisper:/config
- /data/tv:/data/tv
- /data/movies:/data/movies
- ./services/subgen/models:/subgen/models
ports:
- 10300:10300
restart: unless-stopped
- 9666:9000
networks:
arr_network:
ipv4_address: 172.20.0.15
@@ -844,3 +900,5 @@ volumes:
adventurelog_adventurelog_media:
external: true
onlyoffice:
soulsync:
driver: local