Files
home-server-config/media/docker-compose.yml
2026-03-15 01:00:14 +01:00

163 lines
3.6 KiB
YAML

services:
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./radarr:/config
- /mnt/media/jellyfin/movies:/movies
- /mnt/media/downloads:/downloads
networks:
- media
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./sonarr:/config
- /mnt/media/jellyfin/series:/tv
- /mnt/media/downloads:/downloads
networks:
- media
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- WEBUI_PORT=8080
- TORRENTING_PORT=6881
volumes:
- ./qbittorrent/appdata:/config
- /mnt/media/downloads:/downloads #optional
ports:
- 6881:6881
- 6881:6881/udp
networks:
- media
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./prowlarr:/config
networks:
- media
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./bazarr:/config
- /mnt/media/jellyfin/movies:/movies
- /mnt/media/jellyfin/series:/tv
networks:
- media
restart: unless-stopped
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: 1000:1000
networks:
- media
group_add:
- 992
restart: unless-stopped
environment:
- JELLYFIN_PublishedServerUrl=https://jellyfin.focaccinacamog.li
extra_hosts:
- "host.docker.internal:host-gateway"
devices:
- /dev/dri:/dev/dri # Intel GPU VAAPI
volumes:
- type: bind
source: ./jellyfin/config
target: /config
- type: bind
source: ./jellyfin/cache
target: /cache
- type: bind
source: /mnt/media/jellyfin
target: /media
read_only: true
- type: bind
source: /usr/share/fonts/truetype
target: /usr/local/share/fonts/custom
read_only: true
seerr:
image: ghcr.io/seerr-team/seerr:latest
init: true
container_name: seerr
user: 1000:1000
networks:
- media
environment:
- LOG_LEVEL=debug
- TZ=Etc/UTC
- PORT=5055
volumes:
- ./seerr:/app/config
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
restart: unless-stopped
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
user: 1000:1000
restart: unless-stopped
volumes:
- "./navidrome/data:/data"
- "/mnt/media/music:/music:ro"
environment:
- ND_LASTFM_APIKEY=${LASTFM_APIKEY}
- ND_LASTFM_SECRET=${LASTFM_SECRET}
networks:
- media
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./lidarr/config:/config
- /mnt/media/music:/music
- /mnt/media/downloads:/downloads
restart: unless-stopped
networks:
- media
networks:
media:
external: true