Add media-servarr/compose.yml
This commit is contained in:
@@ -0,0 +1,460 @@
|
|||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
qbittorrent:
|
||||||
|
container_name: qbittorrent
|
||||||
|
image: ghcr.io/hotio/qbittorrent
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 9400:9400
|
||||||
|
- 6882:6882
|
||||||
|
- 6882:6882/udp
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
- WEBUI_PORTS=9400/tcp,9400/udp
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/qbittorrent:/config
|
||||||
|
- /lake:/data
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.qbittorrent-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.qbittorrent-secure.rule=Host(`qbit.example.com`)
|
||||||
|
- traefik.http.routers.qbittorrent-secure.tls=true
|
||||||
|
- traefik.http.routers.qbittorrent-secure.service=qbittorrent
|
||||||
|
- traefik.http.services.qbittorrent.loadbalancer.server.port=9400
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
deluge:
|
||||||
|
container_name: deluge
|
||||||
|
image: lscr.io/linuxserver/deluge:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
- DELUGE_LOGLEVEL=error
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/deluge:/config
|
||||||
|
- /lake/downloads/torrents:/downloads
|
||||||
|
ports:
|
||||||
|
- 8112:8112
|
||||||
|
- 6881:6881
|
||||||
|
- 6881:6881/udp
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.deluge-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.deluge-secure.rule=Host(`del.example.com`)
|
||||||
|
- traefik.http.routers.deluge-secure.tls=true
|
||||||
|
- traefik.http.routers.deluge-secure.service=deluge
|
||||||
|
- traefik.http.services.deluge.loadbalancer.server.port=8112
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
plex:
|
||||||
|
container_name: plex
|
||||||
|
image: lscr.io/linuxserver/plex:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
runtime: nvidia
|
||||||
|
ports:
|
||||||
|
- 32400:32400/tcp
|
||||||
|
- 8324:8324/tcp
|
||||||
|
- 32469:32469/tcp
|
||||||
|
- 32410:32410/udp
|
||||||
|
- 32412:32412/udp
|
||||||
|
- 32413:32413/udp
|
||||||
|
- 32414:32414/udp
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
- VERSION=docker
|
||||||
|
- PLEX_CLAIM= #optional get from plex.tv/claim
|
||||||
|
- ADVERTISE_IP=http://PLEX_SERVER_IP_ADDRESS:32400/
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/plexmediaserver:/config
|
||||||
|
- /lake/media:/media
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.plex-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.plex-secure.rule=Host(`plex.example.com`)
|
||||||
|
- traefik.http.routers.plex-secure.tls=true
|
||||||
|
- traefik.http.routers.plex-secure.service=plex
|
||||||
|
- traefik.http.services.plex.loadbalancer.server.port=32400
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
jellyfin:
|
||||||
|
container_name: jellyfin
|
||||||
|
image: lscr.io/linuxserver/jellyfin:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
runtime: nvidia
|
||||||
|
ports:
|
||||||
|
- 8096:8096
|
||||||
|
- 8920:8920 #optional
|
||||||
|
- 7359:7359/udp #optional
|
||||||
|
# - 1900:1900/udp #optional
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
- JELLYFIN_PublishedServerUrl=JELLYFIN_SERVER_IP_ADDRESS
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/jellyfin:/config
|
||||||
|
- /lake/media:/media
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.jellyfin-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.jellyfin-secure.rule=Host(`jf.example.com`)
|
||||||
|
- traefik.http.routers.jellyfin-secure.tls=true
|
||||||
|
- traefik.http.routers.jellyfin-secure.service=jellyfin
|
||||||
|
- traefik.http.services.jellyfin.loadbalancer.server.port=8096
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
radarr:
|
||||||
|
container_name: radarr
|
||||||
|
image: ghcr.io/hotio/radarr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 7878:7878
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
depends_on:
|
||||||
|
- prowlarr
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /lake/starr/radarr:/config
|
||||||
|
- /lake:/data
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.radarr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.radarr-secure.rule=Host(`radarr.example.com`)
|
||||||
|
- traefik.http.routers.radarr-secure.tls=true
|
||||||
|
- traefik.http.routers.radarr-secure.service=radarr
|
||||||
|
- traefik.http.services.radarr.loadbalancer.server.port=7878
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
sonarr:
|
||||||
|
container_name: sonarr
|
||||||
|
image: ghcr.io/hotio/sonarr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 8989:8989
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
depends_on:
|
||||||
|
- prowlarr
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /lake/starr/sonarr:/config
|
||||||
|
- /lake:/data
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.sonarr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.sonarr-secure.rule=Host(`sonarr.example.com`)
|
||||||
|
- traefik.http.routers.sonarr-secure.tls=true
|
||||||
|
- traefik.http.routers.sonarr-secure.service=sonarr
|
||||||
|
- traefik.http.services.sonarr.loadbalancer.server.port=8989
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
lidarr:
|
||||||
|
container_name: lidarr
|
||||||
|
image: ghcr.io/hotio/lidarr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 8686:8686
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
depends_on:
|
||||||
|
- prowlarr
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /lake/starr/lidarr:/config
|
||||||
|
- /lake:/data
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.lidarr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.lidarr-secure.rule=Host(`lidarr.example.com`)
|
||||||
|
- traefik.http.routers.lidarr-secure.tls=true
|
||||||
|
- traefik.http.routers.lidarr-secure.service=lidarr
|
||||||
|
- traefik.http.services.lidarr.loadbalancer.server.port=8686
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
readarr:
|
||||||
|
container_name: readarr
|
||||||
|
image: ghcr.io/hotio/readarr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 8787:8787
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
depends_on:
|
||||||
|
- prowlarr
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /lake/starr/readarr:/config
|
||||||
|
- /lake:/data
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.readarr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.readarr-secure.rule=Host(`readarr.example.com`)
|
||||||
|
- traefik.http.routers.readarr-secure.tls=true
|
||||||
|
- traefik.http.routers.readarr-secure.service=readarr
|
||||||
|
- traefik.http.services.readarr.loadbalancer.server.port=8787
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
whisparr:
|
||||||
|
container_name: whisparr
|
||||||
|
image: ghcr.io/hotio/whisparr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 6969:6969
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
depends_on:
|
||||||
|
- prowlarr
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /lake/starr/whisparr:/config
|
||||||
|
- /lake:/data
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.whisparr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.whisparr-secure.rule=Host(`whisparr.example.com`)
|
||||||
|
- traefik.http.routers.whisparr-secure.tls=true
|
||||||
|
- traefik.http.routers.whisparr-secure.service=whisparr
|
||||||
|
- traefik.http.services.whisparr.loadbalancer.server.port=6969
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
bazarr:
|
||||||
|
container_name: bazarr
|
||||||
|
image: ghcr.io/hotio/bazarr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 6767:6767
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
depends_on:
|
||||||
|
- radarr
|
||||||
|
- sonarr
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/bazarr:/config
|
||||||
|
- /lake:/data
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.bazarr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.bazarr-secure.rule=Host(`bazarr.example.com`)
|
||||||
|
- traefik.http.routers.bazarr-secure.tls=true
|
||||||
|
- traefik.http.routers.bazarr-secure.service=bazarr
|
||||||
|
- traefik.http.services.bazarr.loadbalancer.server.port=6767
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
prowlarr:
|
||||||
|
container_name: prowlarr
|
||||||
|
image: ghcr.io/hotio/prowlarr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 9696:9696
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
depends_on:
|
||||||
|
- qbittorrent
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /lake/starr/prowlarr:/config
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.prowlarr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.prowlarr-secure.rule=Host(`prowlarr.example.com`)
|
||||||
|
- traefik.http.routers.prowlarr-secure.tls=true
|
||||||
|
- traefik.http.routers.prowlarr-secure.service=prowlarr
|
||||||
|
- traefik.http.services.prowlarr.loadbalancer.server.port=9696
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
jackett:
|
||||||
|
container_name: jackett
|
||||||
|
image: lscr.io/linuxserver/jackett:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 9117:9117
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
- AUTO_UPDATE=true
|
||||||
|
depends_on:
|
||||||
|
- qbittorrent
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/jackett:/config
|
||||||
|
- /lake/downloads/torrents:/downloads
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.jackett-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.jackett-secure.rule=Host(`jackett.example.com`)
|
||||||
|
- traefik.http.routers.jackett-secure.tls=true
|
||||||
|
- traefik.http.routers.jackett-secure.service=jackett
|
||||||
|
- traefik.http.services.jackett.loadbalancer.server.port=9117
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
overseerr:
|
||||||
|
container_name: overseerr
|
||||||
|
image: ghcr.io/hotio/overseerr
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 5055:5055
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
- LOG_LEVEL=warn
|
||||||
|
depends_on:
|
||||||
|
- radarr
|
||||||
|
- sonarr
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/overseerr:/config
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.overseerr-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.overseerr-secure.rule=Host(`ovs.example.com`)
|
||||||
|
- traefik.http.routers.overseerr-secure.tls=true
|
||||||
|
- traefik.http.routers.overseerr-secure.service=overseerr
|
||||||
|
- traefik.http.services.overseerr.loadbalancer.server.port=5055
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
tautulli:
|
||||||
|
container_name: tautulli
|
||||||
|
image: ghcr.io/hotio/tautulli
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 8181:8181
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/tautulli:/config
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.tautulli-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.tautulli-secure.rule=Host(`tautulli.example.com`)
|
||||||
|
- traefik.http.routers.tautulli-secure.tls=true
|
||||||
|
- traefik.http.routers.tautulli-secure.service=tautulli
|
||||||
|
- traefik.http.services.tautulli.loadbalancer.server.port=8181
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
ytdl_material:
|
||||||
|
container_name: youtube-dl
|
||||||
|
image: tzahi12345/youtubedl-material:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 8998:17442
|
||||||
|
environment:
|
||||||
|
ytdl_mongodb_connection_string: mongodb://ytdl-mongo-db:27017
|
||||||
|
ytdl_use_local_db: "false"
|
||||||
|
write_ytdl_config: "true"
|
||||||
|
depends_on:
|
||||||
|
- ytdl-mongo-db
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/youtube-dl/appdata:/app/appdata
|
||||||
|
- /lake/media/youtube-music:/app/audio
|
||||||
|
- /lake/media/youtube:/app/video
|
||||||
|
- /lake/media/youtube-subscriptions:/app/subscriptions
|
||||||
|
- /lake/starr/youtube-dl/users:/app/users
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.youtube-dl-secure.entrypoints=https
|
||||||
|
- traefik.http.routers.youtube-dl-secure.rule=Host(`ytdl.example.com`)
|
||||||
|
- traefik.http.routers.youtube-dl-secure.tls=true
|
||||||
|
- traefik.http.routers.youtube-dl-secure.service=youtube-dl
|
||||||
|
- traefik.http.services.youtube-dl.loadbalancer.server.port=8686
|
||||||
|
- traefik.docker.network=proxy
|
||||||
|
#- traefik.http.routers.youtube-dl-secure.middlewares=authelia@docker # Since yt-dl has no authentication system, you can use authelia or similar
|
||||||
|
ytdl-mongo-db:
|
||||||
|
container_name: youtube-dl-mongodb
|
||||||
|
image: mongo
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
logging:
|
||||||
|
driver: none
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/youtube-dl-mongodb/:/data/db
|
||||||
|
autoscan:
|
||||||
|
container_name: autoscan
|
||||||
|
image: ghcr.io/hotio/autoscan
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 3030:3030
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Riyadh # CHANGE THIS TO YOUR TIMEZONE
|
||||||
|
- PLEX_LOGIN=
|
||||||
|
- PLEX_PASSWORD=
|
||||||
|
depends_on:
|
||||||
|
- radarr
|
||||||
|
- sonarr
|
||||||
|
- lidarr
|
||||||
|
volumes:
|
||||||
|
- /lake/starr/autoscan:/config
|
||||||
|
- /lake:/data
|
||||||
|
#deleterr: # IF YOU WANT AUTOMATIC DELETION OF OLD WATCHED AND STALE MEDIA, UNCOMMENT THIS WHOLE SECTION BELOW. YOU CAN CONFIGURE IT https://github.com/rfsbraz/deleterr
|
||||||
|
#container_name: deleterr
|
||||||
|
#image: ghcr.io/rfsbraz/deleterr:latest
|
||||||
|
#restart: no
|
||||||
|
#networks:
|
||||||
|
#- proxy
|
||||||
|
#environment:
|
||||||
|
#LOG_LEVEL: INFO
|
||||||
|
#volumes:
|
||||||
|
#- /lake/starr/deleterr/config:/config
|
||||||
|
#- /lake/starr/deleterr/logs:/config/logs
|
||||||
|
#scheduler:
|
||||||
|
#container_name: deleterr-scheduler
|
||||||
|
#image: mcuadros/ofelia:latest
|
||||||
|
#restart: unless-stopped
|
||||||
|
#networks:
|
||||||
|
#- proxy
|
||||||
|
#depends_on:
|
||||||
|
#- deleterr
|
||||||
|
#command: daemon --docker
|
||||||
|
#volumes:
|
||||||
|
#- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
#labels:
|
||||||
|
#ofelia.job-run.deleterr.schedule: "@weekly"
|
||||||
|
#ofelia.job-run.deleterr.container: deleterr
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
Reference in New Issue
Block a user