Skip to content

Instantly share code, notes, and snippets.

@jr-k
Last active February 6, 2025 10:04
Show Gist options
  • Save jr-k/f06739c211f3514481d959baa72e26a2 to your computer and use it in GitHub Desktop.
Save jr-k/f06739c211f3514481d959baa72e26a2 to your computer and use it in GitHub Desktop.
Complete media center based on Plex + Sonarr + Radarr + Jackett + Transmission + Ombi
services:
plex:
image: lscr.io/linuxserver/plex:latest
network_mode: host
container_name: plex
devices:
- /dev/dri:/dev/dri
environment:
- PUID=1000
- PGID=1000
- VERSION=docker
- PLEX_CLAIM=XXXXXXXXXXXXX
volumes:
- "./plex/config:/config"
- "${VOL_SERIES}:/data/series"
- "${VOL_MOVIES}:/data/movies"
- "${VOL_OTHER}:/data/other"
- "${VOL_EXTERN}:/data/extern"
- "${VOL_PHOTOS}:/data/photos"
- "${VOL_PERSONAL}:/data/personal"
- ./plex/transcode:/transcode
- "/etc/localtime:/etc/localtime:ro"
restart: unless-stopped
transmission:
image: linuxserver/transmission
container_name: transmission
environment:
- PUID=1000
- PGID=1000
volumes:
- "./transmission/config:/config"
- "./transmission/watch:/watch"
- "${VOL_DOWNLOADS}:/downloads"
- "/etc/localtime:/etc/localtime:ro"
# ports:
# - "51413:51413"
# - "51413:51413/udp"
# - "9091:9091"
network_mode: "host" # to allow seed
restart: "unless-stopped"
radarr:
image: linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
volumes:
- "${VOL_DOWNLOADS}:/downloads"
- "${VOL_MOVIES}:/movies"
- "./radarr/config:/config"
- "/etc/localtime:/etc/localtime:ro"
ports:
- "7878:7878"
restart: "unless-stopped"
sonarr:
image: linuxserver/sonarr
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
volumes:
- "${VOL_DOWNLOADS}:/downloads"
- "${VOL_SERIES}:/series"
- "./sonarr/config:/config"
- "/etc/localtime:/etc/localtime:ro"
ports:
- "8989:8989"
restart: "unless-stopped"
# jackett replaced by prowlarr
# jackett:
# image: linuxserver/jackett:latest
# container_name: jackett
# environment:
# - PUID=1000
# - PGID=1000
# volumes:
# - ./jackett/config:/config
# - "${VOL_TORRENTS}:/downloads"
# ports:
# - 9117:9117
# restart: unless-stopped
overseerr:
image: sctx/overseerr:latest
container_name: overseerr
environment:
- LOG_LEVEL=info
- TZ=Europe/Paris
volumes:
- ./overseerr/config:/app/config
ports:
- 5055:5055
restart: unless-stopped
# ombi replaced by overseerr
# ombi:
# image: linuxserver/ombi
# container_name: ombi
# environment:
# - PUID=1000
# - PGID=1000
# volumes:
# - ./ombi/config:/config
# ports:
# - 3579:3579
# restart: unless-stopped
# flaresolverr not needed anymore (to bypass cloudflare protection for some indexers)
# flaresolverr:
# DockerHub mirror flaresolverr/flaresolverr:latest
# image: ghcr.io/flaresolverr/flaresolverr:latest
# image: ghcr.io/flaresolverr/flaresolverr:pr-1282
# image: 21hsmw/flaresolverr:nodriver
# container_name: flaresolverr
# environment:
# - DRIVER=nodriver
# - LOG_LEVEL=${LOG_LEVEL:-info}
# - LOG_HTML=${LOG_HTML:-false}
# - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
# - TZ=Europe/Paris
# - LANG=en_GB
# ports:
# - "${PORT:-8191}:8191"
# network_mode: "host"
# restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
volumes:
- ./prowlarr/config:/config
- "${VOL_TORRENTS}:/downloads"
ports:
- 9696:9696
restart: unless-stopped
tautulli:
image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli
restart: unless-stopped
volumes:
- ./tautulli/config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
ports:
- 8181:8181
@jr-k
Copy link
Author

jr-k commented Dec 29, 2023

# .env file
VOL_DOWNLOADS=/mnt/plex/downloads/medias
VOL_TORRENTS=/mnt/plex/downloads/torrents
VOL_MOVIES=/mnt/plex/movies
VOL_SERIES=/mnt/plex/series
VOL_PHOTOS=/mnt/plex/photos
VOL_PERSONAL=/mnt/plex/personal
VOL_OTHER=/mnt/plex/other
VOL_EXTERN=/mnt/plex/extern
PUID=1000
PGID=1000

@jr-k
Copy link
Author

jr-k commented Dec 30, 2023

/* Plex theme for Ombi (very optional, don't use that) */
.application-name, h1, .mat-focused .mat-form-field-label, .mat-focused .mat-form-field-required-marker, .grow:hover {color:#e5a00d !important;}
form button, .active-list-item, a button, .form-group button, .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb, button.mat-accent, .mat-tab-group.mat-primary .mat-ink-bar {background: #e5a00d !important;}
.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {background: #d6b367 !important;}
.forgot-password  {color: #d6b367 !important;}
mat-nav-list > span:nth-child(5),mat-nav-list > span:nth-child(7), mat-nav-list .advanced-search {display: none !important;}
.mat-focused .mat-form-field-outline-gap, .mat-focused .mat-form-field-outline-start, .mat-focused .mat-form-field-outline-end {border-color: #d6b367 !important;}
.mat-focused .mat-form-field-outline-gap {border-top-color: transparent !important;}
.login-card {min-width: 550px !important;}
.login-card .logo-img {height: 80px !important; margin: 0 auto 50px auto !important;}
.login-gradient-bar {background: rgba(0,0,0,.8) !important;}
.mat-list-item-content {white-space: pre;}
.discover-filter-button:hover {transform: initial !important;border-radius:0 !important; background:#e5a00d !important;color:black !important;font-weight:bold !important;}
.fa-filter, .top-search-bar .mat-form-field-flex {color: white !important; border-color: white !important;}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment