Update Fedora state: 2026-04-29 11:50
This commit is contained in:
parent
42ca768584
commit
10f0d5de1d
338 changed files with 18983 additions and 32 deletions
208
Downloads/docker-compose.yml
Normal file
208
Downloads/docker-compose.yml
Normal file
|
|
@ -0,0 +1,208 @@
|
|||
services:
|
||||
jellyfin:
|
||||
image: jellyfin/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
restart: unless-stopped
|
||||
group_add:
|
||||
- "993" # render group for VAAPI hardware acceleration
|
||||
|
||||
ports:
|
||||
- "8096:8096" # HTTP web UI
|
||||
- "8920:8920" # HTTPS
|
||||
- "7359:7359/udp" # Network discovery
|
||||
- "1900:1900/udp" # DLNA
|
||||
|
||||
expose:
|
||||
- "8096"
|
||||
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Australia/Perth
|
||||
|
||||
volumes:
|
||||
# Config on NVMe (fast)
|
||||
- ./config:/config
|
||||
- ./cache:/cache
|
||||
|
||||
# Media libraries (read-only for safety)
|
||||
- "/mnt/media/Movies:/media/movies:ro"
|
||||
- "/mnt/media/TV Shows:/media/tv-shows:ro"
|
||||
- "/mnt/media/Anime:/media/anime:ro"
|
||||
- "/mnt/media/Kids TV:/media/kids-tv:ro"
|
||||
- "/mnt/media/Kids Movies:/media/kids-movies:ro"
|
||||
- "/tank/home-videos:/media/home-videos:ro"
|
||||
- "/tank/videos:/media/home-videos:ro"
|
||||
- "/tank/photos:/media/home-photos:ro"
|
||||
|
||||
devices:
|
||||
# Hardware transcoding (Vega graphics)
|
||||
- /dev/dri:/dev/dri
|
||||
|
||||
networks:
|
||||
- jellyfin-net
|
||||
|
||||
qbittorrent:
|
||||
image: linuxserver/qbittorrent:latest
|
||||
container_name: qbittorrent
|
||||
environment:
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: "${TZ}"
|
||||
WEBUI_PORT: 8090
|
||||
volumes:
|
||||
- ~/.docker_volumes/qbittorrent/config:/config
|
||||
- /mnt/media/downloads:/downloads
|
||||
- /mnt/media/anime:/animeq
|
||||
ports:
|
||||
- "8090:8090"
|
||||
- "6881:6881"
|
||||
- "6881:6881/udp"
|
||||
expose:
|
||||
- "8090"
|
||||
restart: unless-stopped
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 1G
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
sonarr:
|
||||
image: linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
environment:
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: "${TZ}"
|
||||
DOCKER_MODS: "linuxserver/mods:universal-package-install"
|
||||
INSTALL_PACKAGES: "ffmpeg"
|
||||
volumes:
|
||||
- ~/.docker_volumes/sonarr/config:/config
|
||||
- /mnt/media/Anime:/tv
|
||||
- ~/media/downloads:/downloads
|
||||
ports:
|
||||
- "8989:8989"
|
||||
expose:
|
||||
- "8989"
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- qbittorrent
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 512M
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
prowlarr:
|
||||
image: linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
environment:
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: "${TZ}"
|
||||
volumes:
|
||||
- ~/.docker_volumes/prowlarr/config:/config
|
||||
ports:
|
||||
- "9696:9696"
|
||||
expose:
|
||||
- "9696"
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- qbittorrent
|
||||
- sonarr
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9696/ping"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 512M
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
jellyseerr:
|
||||
image: fallenbagel/jellyseerr:latest
|
||||
container_name: jellyseerr
|
||||
environment:
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: "${TZ}"
|
||||
volumes:
|
||||
- ~/.docker_volumes/jellyseerr/config:/app/config
|
||||
ports:
|
||||
- "5055:5055"
|
||||
expose:
|
||||
- "5055"
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- jellyfin
|
||||
- sonarr
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5055/api/v1/status"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 512M
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
caddy:
|
||||
build:
|
||||
context: .
|
||||
dockerfile_inline: |
|
||||
FROM caddy:builder AS builder
|
||||
RUN xcaddy build --with github.com/caddy-dns/namedotcom
|
||||
FROM caddy:latest
|
||||
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
||||
container_name: caddy
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- NAMEDOTCOM_USERNAME=
|
||||
- NAMEDOTCOM_TOKEN=your_api_token
|
||||
ports:
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||
- ./caddy_data:/data
|
||||
- ./caddy_config:/config
|
||||
networks:
|
||||
- jellyfin-net
|
||||
|
||||
crowdsec:
|
||||
image: crowdsecurity/crowdsec:latest
|
||||
container_name: crowdsec
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- COLLECTIONS=crowdsecurity/linux crowdsecurity/caddy crowdsecurity/base-httping
|
||||
volumes:
|
||||
- /var/log:/var/log:ro
|
||||
- ./crowdsec_data:/var/lib/crowdsec/data
|
||||
- ./crowdsec_config:/etc/crowdsec
|
||||
networks:
|
||||
- jellyfin-net
|
||||
|
||||
networks:
|
||||
jellyfin-net:
|
||||
driver: bridge
|
||||
Loading…
Add table
Add a link
Reference in a new issue