Files
sailarr-installer/docker/compose-services
Marco Marinho 7d29501741 Move from Overseerr to Seerr
Overseerr and Jellyseerr will be merged and be called Seerr, so let's prepare for it
2025-11-01 18:36:12 +00:00
..
2025-11-01 18:36:12 +00:00
2025-11-01 18:36:12 +00:00
2025-11-01 18:36:12 +00:00

MediaCenter Modular Docker Compose Structure

Overview

Each service is defined in its own YAML file for better organization and maintenance.

File Structure

/mnt/mediacenter/
├── docker-compose.yml           # Master file that includes all services
├── .env                         # Environment variables
├── compose-services/            # Individual service definitions
│   ├── networks.yml            # Network configuration
│   ├── volumes.yml             # Volume definitions
│   ├── traefik.yml             # Reverse proxy
│   ├── plex.yml                # Media server
│   ├── seerr.yml           # Request management
│   ├── radarr.yml              # Movie management
│   ├── sonarr.yml              # TV show management
│   └── ...                     # Other services

Usage

Start all services:

docker compose up -d

Start specific services:

# Start only Plex and Seerr
docker compose up -d plex seerr

# Start media management stack
docker compose up -d radarr sonarr prowlarr

Stop all services:

docker compose down

View specific service logs:

docker compose logs -f plex
docker compose logs -f radarr

Restart a specific service:

docker compose restart sonarr

Update a specific service:

docker compose pull radarr
docker compose up -d radarr

Service Groups

Core Infrastructure

  • traefik.yml - Reverse proxy
  • traefik-socket-proxy.yml - Docker API security
  • networks.yml - Network configuration
  • volumes.yml - Shared volumes

Media Server

  • plex.yml - Plex Media Server

Request Management

  • seerr.yml - Media requests

Media Management (*arr stack)

  • radarr.yml - Movies
  • sonarr.yml - TV Shows
  • prowlarr.yml - Indexers
  • recyclarr.yml - Quality profiles

Download & Streaming

  • rdtclient.yml - Real-Debrid client
  • zurg.yml - Real-Debrid WebDAV
  • rclone.yml - Cloud storage mount

Indexers

  • zilean.yml - Torrent indexer
  • zilean-postgres.yml - Database for Zilean

Utilities

  • autoscan.yml - Library updates
  • watchtower.yml - Auto updates
  • pinchflat.yml - YouTube downloads
  • plextraktsync.yml - Trakt sync

Dashboard & Monitoring

  • homarr.yml - Main dashboard
  • dashdot.yml - System monitor

Benefits of This Structure

  1. Modularity: Each service can be managed independently
  2. Clarity: Easy to find and modify specific service configurations
  3. Version Control: Track changes to individual services
  4. Selective Deployment: Start only the services you need
  5. Easier Debugging: Isolate issues to specific services
  6. Team Collaboration: Different team members can work on different services

Adding New Services

  1. Create a new file in compose-services/:
# compose-services/newservice.yml
name: mediacenter

services:
  newservice:
    image: newservice:latest
    container_name: newservice
    networks:
      - mediacenter
    # ... rest of configuration
  1. Add the include to docker-compose.yml:
include:
  # ... existing includes
  - compose-services/newservice.yml
  1. Restart the stack:
docker compose up -d

Backup

To backup this modular structure:

tar -czf mediacenter-compose-backup.tar.gz \
  docker-compose.yml \
  .env \
  compose-services/