portainer-stacks/media-uis.yaml

99 lines
2.3 KiB
YAML

version: '3.7'
services:
# Cloudflare Tunnel
cloudflare-burgessmedia:
image: cloudflare/cloudflared:latest
restart: unless-stopped
command: tunnel run
environment:
- TUNNEL_TOKEN=$TUNNEL_TOKEN
# Video Playback
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
ports:
- 8096:8096
volumes:
- /etc/localtime:/etc/localtime:ro
- /dockers/jellyfin:/config
- /dockers/jellyfin/cache:/cache
- /dockers/IPTV:/IPTV
- /mnt:/mnt
environment:
- UID=1000
- GID=1000
- TZ=America/New_York
plex:
image: plexinc/pms-docker:latest
container_name: plex
restart: unless-stopped
network_mode: host
hostname: DexPlex
ports:
- 32400:32400
- 3005:3005/tcp
- 8324:8324/tcp
- 32469:32469/tcp
- 1900:1900/udp
- 32410:32410/udp
- 32412:32412/udp
- 32413:32413/udp
- 32414:32414/udp
volumes:
- /dockers/plex/config:/config
- /dockers/plex/transcode:/transcode
- /mnt:/data
environment:
- PLEX_UID=1000
- PLEX_GID=1000
- TZ=America/New_York
- ADVERTISE_IP=http://10.1.1.40:32400/
- PLEX_CLAIM=claim--4imnNmWUB93RAUswCTY
# Music
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
user: 1000:1000 # should be owner of volumes
volumes:
- /dockers/navidrome/data:/data
- /mnt/Music/FullCDs:/music:ro
#environment:
# Optional: put your config options customization here. Examples:
#- ND_SCANSCHEDULE: 1h
#- ND_LOGLEVEL: info
#- ND_SESSIONTIMEOUT: 24h
#- ND_BASEURL: ""
# Pictures
chevereto:
image: lscr.io/linuxserver/chevereto:version-1.3.0
container_name: chevereto
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- /dockers/chevereto/config:/config
- /dockers/chevereto/data:/data
# E-Books
kavita:
image: kizaing/kavita:latest
container_name: kavita
restart: unless-stopped
volumes:
- /dockers/kavita/manga:/manga
- /mnt/eBooks:/books
- /dockers/kavita/data:/kavita/config
networks:
default:
name: dockers_default
external: true