Compose-Examples/examples/arr-suite/docker-compose.yml
LRVT 10b92daf7a
Update docker-compose.yml
group container configs into one bind mount dir
2024-02-28 20:53:27 +01:00

233 lines
8.3 KiB
YAML

version: "3.6"
services:
# image used to index torrent links from the internet
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: arr-suite-prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/prowlarr:/config # database and Prowlarr configs
expose:
- 9696/tcp # web ui
ports:
- 9696:9696/tcp # web ui
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.prowlarr.rule=Host(`prowlarr.example.com`)
# - traefik.http.services.prowlarr.loadbalancer.server.port=9696
# # Optional part for traefik middlewares
# - traefik.http.routers.prowlarr.middlewares=local-ipwhitelist@file
# image used to scan for tv shows
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: arr-suite-sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/sonarr:/config # database and Radarr configs
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/tv-shows:/tv # location of Movie library on disk
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/downloads:/downloads # location of download managers output directory (here qbittorrent)
expose:
- 8989/tcp # web ui
ports:
- 8989:8989/tcp # web ui
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.sonarr.rule=Host(`sonarr.example.com`)
# - traefik.http.services.sonarr.loadbalancer.server.port=8989
# # Optional part for traefik middlewares
# - traefik.http.routers.sonarr.middlewares=local-ipwhitelist@file
# image used to scan for movies
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: arr-suite-radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/radarr:/config
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/movies:/movies
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/downloads:/downloads # location of download managers output directory (here qbittorrent)
expose:
- 7878/tcp # web ui
ports:
- 7878:7878/tcp # web ui
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.radarr.rule=Host(`radarr.example.com`)
# - traefik.http.services.radarr.loadbalancer.server.port=7878
# # Optional part for traefik middlewares
# - traefik.http.routers.radarr.middlewares=local-ipwhitelist@file
# image used to scan for music
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: arr-suite-lidarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/lidarr:/config
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/music:/music
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/downloads:/downloads # location of download managers output directory (here qbittorrent)
expose:
- 8686/tcp # web ui
ports:
- 8686:8686/tcp # web ui
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.lidarr.rule=Host(`lidarr.example.com`)
# - traefik.http.services.lidarr.loadbalancer.server.port=8686
# # Optional part for traefik middlewares
# - traefik.http.routers.lidarr.middlewares=local-ipwhitelist@file
# image used to scan for books
readarr:
image: lscr.io/linuxserver/readarr:develop
container_name: arr-suite-readarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/readarr:/config
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/books:/books
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/downloads:/downloads # location of downloads on disk
expose:
- 8787/tcp # web ui
ports:
- 8787:8787/tcp # web ui
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.readarr.rule=Host(`readarr.example.com`)
# - traefik.http.services.readarr.loadbalancer.server.port=8787
# # Optional part for traefik middlewares
# - traefik.http.routers.readarr.middlewares=local-ipwhitelist@file
# image used to download stuff
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: arr-suite-qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- WEBUI_PORT=8080
- TORRENTING_PORT=6881
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/qbittorrent:/config # contains all relevant configuration files
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/downloads:/downloads # location of downloads on disk
expose:
- 8080/tcp # web ui
- 6881/tcp # tcp connection port
- 6881/udp # udp connection port
ports:
- 8080:8080/tcp # web ui
- 6881:6881/tcp # tcp connection port
- 6881:6881/udp # udp connection port
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.qbittorrent.rule=Host(`qbittorrent.example.com`)
# - traefik.http.services.qbittorrent.loadbalancer.server.port=8080
# # Optional part for traefik middlewares
# - traefik.http.routers.qbittorrent.middlewares=local-ipwhitelist@file
# image used for end clients to request movies and tv shows
requestrr:
image: lscr.io/linuxserver/requestrr:latest
container_name: arr-suite-requestrr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/requestrr:/config
expose:
- 4545/tcp # web ui
ports:
- 4545:4545/tcp # web ui
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.requestrr.rule=Host(`requestrr.example.com`)
# - traefik.http.services.requestrr.loadbalancer.server.port=4545
# # Optional part for traefik middlewares
# - traefik.http.routers.requestrr.middlewares=local-ipwhitelist@file
# image used to manage media and stream it
emby:
image: lscr.io/linuxserver/emby:latest
container_name: arr-suite-emby
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/emby:/config # emby data storage location; can grow very large
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/tv-shows:/data/tvshows # media goes here
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/movies:/data/movies # media goes here
#- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/emby/lib:/opt/vc/lib # optional; path for Raspberry Pi OpenMAX libs
expose:
- 8096/tcp # http web ui
- 8920/tcp # https web ui
ports:
- 8096:8096/tcp # http web ui
#devices:
# - /dev/dri:/dev/dri #optional
# - /dev/vchiq:/dev/vchiq #optional
# - /dev/video10:/dev/video10 #optional
# - /dev/video11:/dev/video11 #optional
# - /dev/video12:/dev/video12 #optional
restart: unless-stopped
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.emby.rule=Host(`emby.example.com`)
# - traefik.http.services.emby.loadbalancer.server.port=8096
# # Optional part for traefik middlewares
# - traefik.http.routers.emby.middlewares=local-ipwhitelist@file
#networks:
# proxy:
# external: true