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