mirror of
https://github.com/JaviPege/sailarr-installer.git
synced 2026-01-01 10:19:34 -06: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 proxytraefik-socket-proxy.yml- Docker API securitynetworks.yml- Network configurationvolumes.yml- Shared volumes
Media Server
plex.yml- Plex Media Server
Request Management
seerr.yml- Media requests
Media Management (*arr stack)
radarr.yml- Moviessonarr.yml- TV Showsprowlarr.yml- Indexersrecyclarr.yml- Quality profiles
Download & Streaming
rdtclient.yml- Real-Debrid clientzurg.yml- Real-Debrid WebDAVrclone.yml- Cloud storage mount
Indexers
zilean.yml- Torrent indexerzilean-postgres.yml- Database for Zilean
Utilities
autoscan.yml- Library updateswatchtower.yml- Auto updatespinchflat.yml- YouTube downloadsplextraktsync.yml- Trakt sync
Dashboard & Monitoring
homarr.yml- Main dashboarddashdot.yml- System monitor
Benefits of This Structure
- Modularity: Each service can be managed independently
- Clarity: Easy to find and modify specific service configurations
- Version Control: Track changes to individual services
- Selective Deployment: Start only the services you need
- Easier Debugging: Isolate issues to specific services
- Team Collaboration: Different team members can work on different services
Adding New Services
- 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
- Add the include to
docker-compose.yml:
include:
# ... existing includes
- compose-services/newservice.yml
- 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/