- Shell 100%
| agregarr | ||
| arrs | ||
| lingarr | ||
| docker-compose.yml.backup | ||
| manage-services.sh | ||
| README.md | ||
Arr-Stack Docker Compose Services
This repository contains Docker Compose configurations for various media management services.
Directory Structure
Each service has its own subdirectory with a docker-compose.yml file:
- gluetun/ - VPN service (must be started first)
- qbittorrent/ - Torrent client (depends on gluetun)
- prowlarr/ - Indexer manager + Flaresolverr (depends on gluetun)
- radarr/ - Movie management (depends on gluetun)
- sonarr/ - TV show management + Renamarr (depends on gluetun)
- readarr/ - Book management (depends on gluetun)
- lidarr/ - Music management (depends on gluetun)
- bazarr/ - Subtitle management (depends on gluetun)
- lingarr/ - Language/subtitle tool (standalone)
- agregarr/ - List aggregator (standalone)
Important: Startup Order
Services using network_mode: 'container:gluetun' must start after gluetun is running.
Automatic Dependency Management
The manage-services.sh script now automatically handles gluetun dependencies:
- When you start a service that depends on gluetun, gluetun will be started automatically if it's not running
- The script waits for gluetun to be healthy before proceeding
- You can simply run:
./manage-services.sh startand everything will start in the correct order
Manual startup sequence (if preferred):
-
Start gluetun first:
./manage-services.sh start gluetun -
Wait for gluetun to be fully running (the script waits automatically)
-
Start all other services:
./manage-services.sh start
What happens when gluetun restarts?
If gluetun restarts (manually or due to a crash) while other services are running:
- Dependent containers lose network connectivity temporarily
- They regain connectivity automatically when gluetun comes back up (usually within 10-30 seconds)
- No restart is needed for most containers - they should reconnect automatically
- If containers have issues, you can restart them individually:
./manage-services.sh restart radarr
Management Script
Use ./manage-services.sh to manage all services:
./manage-services.sh {start|stop|restart|status|pull|init} [service-name]
Commands:
start- Start all services (or specific service)stop- Stop all services (or specific service)restart- Restart all services (or specific service)status- Show status of all services (or specific service)pull- Pull latest images for all services (or specific service)init- Create all bind mount directories
Examples:
# Initialize all directories
./manage-services.sh init
# Start all services
./manage-services.sh start
# Start only gluetun
./manage-services.sh start gluetun
# Check status of all services
./manage-services.sh status
# Stop a specific service
./manage-services.sh stop radarr
# Pull latest images for all services
./manage-services.sh pull
Network Configuration
Services are configured in two network modes:
Services using gluetun's network (VPN):
- qbittorrent
- prowlarr
- flaresolverr
- radarr
- sonarr
- renamarr
- readarr
- lidarr
- bazarr
These services route all traffic through the gluetun VPN container using network_mode: 'container:gluetun'.
Standalone services (direct network):
- lingarr (port 9876)
- agregarr (port 7171)
NFS Volumes
The following NFS volumes are configured for Synology NAS access:
synology-video- /volume3/videosynology-video2- /volume3/video2synology-music- /volume3/musicsynology-books- /volume3/bookssynology-downloads- /volume3/QBittorrent
These are defined in each service's compose file that needs them.
Data Directories
All persistent data is stored in ../data/ relative to this directory:
../data/gluetun/- VPN configuration and data../data/qbittorrent/config/- qBittorrent configuration../data/prowlarr/- Prowlarr configuration (shared with Flaresolverr)../data/radarr/- Radarr configuration../data/sonarr/- Sonarr configuration../data/renamarr_config.yml- Renamarr configuration file../data/readarr/- Readarr configuration../data/lidarr/config/- Lidarr configuration../data/bazarr/- Bazarr configuration../data/lingarr/- Lingarr configuration../data/agregarr/- Agregarr configuration../data/gluetun-ovpn.env- VPN credentials (referenced by gluetun)
Troubleshooting
Services fail to start with network errors
Ensure gluetun is running first:
docker ps | grep gluetun
If not running, start it:
./manage-services.sh start gluetun
Cannot access web UIs for services behind gluetun
All services using gluetun's network are accessed through gluetun's exposed ports:
- qBittorrent: http://localhost:8881
- Prowlarr: http://localhost:9696
- Radarr: http://localhost:7878
- Sonarr: http://localhost:8989
- Readarr: http://localhost:8787
- Lidarr: http://localhost:8686
- Bazarr: http://localhost:6767
- Flaresolverr: http://localhost:8191
NFS mount issues
Check that your Synology NAS is accessible at 10.0.1.2 and NFS exports are configured correctly.