mirror of
https://github.com/Haxxnet/Compose-Examples
synced 2024-11-25 04:51:13 +00:00
6527cdbfa2
cleanup bind mounts by using a single media dir
259 lines
9.1 KiB
YAML
259 lines
9.1 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/media/tv-shows:/tv # location of Movie library on disk
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/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/media/movies:/movies
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/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/media/music:/music
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/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/media/books:/books
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/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 bypass cloudflare for prowlarr
|
|
flaresolverr:
|
|
image: flaresolverr/flaresolverr:latest
|
|
container_name: arr-suite-flaresolverr
|
|
environment:
|
|
- LOG_LEVEL=info
|
|
- LOG_HTML=false
|
|
- CAPTCHA_SOLVER=none
|
|
- TZ=Europe/Berlin
|
|
expose:
|
|
- 8191/tcp # listening port for selenium
|
|
restart: unless-stopped
|
|
#networks:
|
|
# - proxy
|
|
|
|
# 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/media/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 to download stuff over openvpn (e.g. mullvad)
|
|
#qbittorrentvpn:
|
|
# image: markusmcnugen/qbittorrentvpn
|
|
# container_name: arr-suite-qbittorrentvpn
|
|
# privileged: true
|
|
# sysctls:
|
|
# - net.ipv6.conf.all.disable_ipv6=0
|
|
# volumes:
|
|
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/configs/qbittorrentvpn:/config # contains all relevant configuration files; put your vpn config into the openvpn dir
|
|
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/arr-suite/media/downloads:/downloads # location of downloads on disk
|
|
# - /etc/localtime:/etc/localtime:ro
|
|
# environment:
|
|
# - VPN_ENABLED=yes
|
|
# - LAN_NETWORK=192.168.1.0/24
|
|
# - NAME_SERVERS=8.8.8.8,8.8.4.4
|
|
# - WEBUI_PORT_ENV=8080
|
|
# - UMASK=002
|
|
# - PUID=1000
|
|
# - PGID=1000
|
|
# - INCOMING_PORT_ENV=8999
|
|
# expose:
|
|
# - 8080/tcp
|
|
# - 8999/tcp
|
|
# - 8999/udp
|
|
# ports:
|
|
# - 8080:8080/tcp # map web ui for prowlarr and co.
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - proxy
|
|
# labels:
|
|
# - traefik.enable=true
|
|
# - traefik.docker.network=proxy
|
|
# - traefik.http.routers.qbittorrentvpn.rule=Host(`qbittorrentvpn.example.com`)
|
|
# - traefik.http.services.qbittorrentvpn.loadbalancer.server.port=8080
|
|
# # Optional part for traefik middlewares
|
|
# - traefik.http.routers.qbittorrentvpn.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/media:/data # 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
|