back to scripts

update_mounts.sh

bash 61 lines secrets redacted

Ensures the media containers mount the shared storage path correctly after config changes.

Note Live script from my home-lab server. Tokens, IDs, phone numbers and other secrets have been replaced with placeholders like <WHATSAPP_GROUP_ID> — everything else is the real, running code.
#!/bin/bash
# Auto-update Docker containers to mount /mnt/jelly
# Containers: qbittorrent, sonarr, prowlarr, radarr

set -e

HOST_PATH="/mnt/jelly"
CONTAINER_PATH="/mnt/jelly"

echo "Updating Docker containers to mount $HOST_PATH..."

# qbittorrent
echo "Updating qbittorrent..."
docker stop qbittorrent || true
docker rm qbittorrent || true
docker run -d \
  --name qbittorrent \
  -p 8080:8080 \
  -p 6881:6881 \
  -p 6881:6881/udp \
  -v /srv/docker/qbittorrent/config:/config \
  -v "$HOST_PATH":"$CONTAINER_PATH" \
  lscr.io/linuxserver/qbittorrent:latest

# sonarr
echo "Updating sonarr..."
docker stop sonarr || true
docker rm sonarr || true
docker run -d \
  --name sonarr \
  -p 8989:8989 \
  -v /srv/docker/sonarr/config:/config \
  -v "$HOST_PATH":"$CONTAINER_PATH" \
  -v /srv/media/tvseries:/tv \
  lscr.io/linuxserver/sonarr:latest

# radarr
echo "Updating radarr..."
docker stop radarr || true
docker rm radarr || true
docker run -d \
  --name radarr \
  -p 7878:7878 \
  -v /srv/docker/radarr/config:/config \
  -v "$HOST_PATH":"$CONTAINER_PATH" \
  -v /srv/media/movies:/movies \
  lscr.io/linuxserver/radarr:latest

# prowlarr
echo "Updating prowlarr..."
docker stop prowlarr || true
docker rm prowlarr || true
docker run -d \
  --name prowlarr \
  -p 9696:9696 \
  -v /srv/docker/prowlarr/config:/config \
  -v "$HOST_PATH":"$CONTAINER_PATH" \
  lscr.io/linuxserver/prowlarr:latest

echo "All containers updated with /mnt/jelly mount."

back to scripts