add knecht
This commit is contained in:
6
services/jellyfin/.env.example
Normal file
6
services/jellyfin/.env.example
Normal file
@@ -0,0 +1,6 @@
|
||||
# Generated by knecht from Portainer env vars
|
||||
PUID=
|
||||
PGID=
|
||||
TZ=
|
||||
TV_PATH=
|
||||
MOVIES_PATH=
|
||||
29
services/jellyfin/docker-compose.yml
Normal file
29
services/jellyfin/docker-compose.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
services:
|
||||
jellyfin:
|
||||
image: lscr.io/linuxserver/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- jellyfin_config:/config
|
||||
- jellyfin_cache:/cache
|
||||
- ${TV_PATH}:/media/tv:ro
|
||||
- ${MOVIES_PATH}:/media/movies:ro
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.jellyfin.rule=Host(`jellyfin.home.jens.pub`)"
|
||||
- "traefik.http.routers.jellyfin.entrypoints=websecure"
|
||||
- "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
|
||||
|
||||
volumes:
|
||||
jellyfin_config:
|
||||
jellyfin_cache:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
25
services/rrr/.env.example
Normal file
25
services/rrr/.env.example
Normal file
@@ -0,0 +1,25 @@
|
||||
# MullvadVPN WireGuard credentials
|
||||
# Generate a config at: Mullvad Account → WireGuard configuration → Generate key
|
||||
# Copy the PrivateKey value and the Address value from the generated config file
|
||||
WIREGUARD_PRIVATE_KEY=
|
||||
WIREGUARD_ADDRESSES=
|
||||
|
||||
# Optional: preferred server city/cities (comma-separated, e.g. Gothenburg,Stockholm)
|
||||
# Leave empty to let gluetun pick automatically
|
||||
SERVER_CITIES=
|
||||
|
||||
# Linux user/group IDs for file ownership in volumes
|
||||
# Run `id` on the host to find the right values
|
||||
PUID=
|
||||
PGID=
|
||||
|
||||
# Timezone (e.g. Europe/Berlin)
|
||||
TZ=
|
||||
|
||||
# Host paths for media library and downloads
|
||||
TV_PATH=
|
||||
MOVIES_PATH=
|
||||
DOWNLOADS_PATH=
|
||||
|
||||
# Added by knecht
|
||||
SEERR_DATA_PATH=
|
||||
152
services/rrr/docker-compose.yml
Normal file
152
services/rrr/docker-compose.yml
Normal file
@@ -0,0 +1,152 @@
|
||||
services:
|
||||
gluetun:
|
||||
image: qmcgaw/gluetun:latest
|
||||
container_name: gluetun
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
environment:
|
||||
- VPN_SERVICE_PROVIDER=mullvad
|
||||
- VPN_TYPE=wireguard
|
||||
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
||||
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
||||
- SERVER_CITIES=${SERVER_CITIES}
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- gluetun_data:/gluetun
|
||||
networks:
|
||||
- proxy
|
||||
healthcheck:
|
||||
test: ["CMD", "/gluetun-entrypoint", "healthcheck"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Sonarr
|
||||
- "traefik.http.routers.sonarr.rule=Host(`sonarr.home.jens.pub`)"
|
||||
- "traefik.http.routers.sonarr.entrypoints=websecure"
|
||||
- "traefik.http.routers.sonarr.service=sonarr"
|
||||
- "traefik.http.services.sonarr.loadbalancer.server.port=8989"
|
||||
# Radarr
|
||||
- "traefik.http.routers.radarr.rule=Host(`radarr.home.jens.pub`)"
|
||||
- "traefik.http.routers.radarr.entrypoints=websecure"
|
||||
- "traefik.http.routers.radarr.service=radarr"
|
||||
- "traefik.http.services.radarr.loadbalancer.server.port=7878"
|
||||
# Prowlarr
|
||||
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.home.jens.pub`)"
|
||||
- "traefik.http.routers.prowlarr.entrypoints=websecure"
|
||||
- "traefik.http.routers.prowlarr.service=prowlarr"
|
||||
- "traefik.http.services.prowlarr.loadbalancer.server.port=9696"
|
||||
# SABnzbd
|
||||
- "traefik.http.routers.sabnzbd.rule=Host(`sabnzbd.home.jens.pub`)"
|
||||
- "traefik.http.routers.sabnzbd.entrypoints=websecure"
|
||||
- "traefik.http.routers.sabnzbd.service=sabnzbd"
|
||||
- "traefik.http.services.sabnzbd.loadbalancer.server.port=8080"
|
||||
|
||||
sonarr:
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- sonarr_config:/config
|
||||
- ${TV_PATH}:/tv
|
||||
- ${DOWNLOADS_PATH}:/downloads
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
|
||||
radarr:
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- radarr_config:/config
|
||||
- ${MOVIES_PATH}:/movies
|
||||
- ${DOWNLOADS_PATH}:/downloads
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- prowlarr_config:/config
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
|
||||
sabnzbd:
|
||||
image: lscr.io/linuxserver/sabnzbd:latest
|
||||
container_name: sabnzbd
|
||||
network_mode: "service:gluetun"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- HOST_WHITELIST_ENTRIES=sabnzbd.home.jens.pub
|
||||
volumes:
|
||||
- sabnzbd_config:/config
|
||||
- ${DOWNLOADS_PATH}:/downloads
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
|
||||
seerr:
|
||||
image: ghcr.io/seerr-team/seerr:latest
|
||||
container_name: seerr
|
||||
init: true
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${SEERR_DATA_PATH}:/app/config
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.seerr.rule=Host(`seerr.home.jens.pub`)"
|
||||
- "traefik.http.routers.seerr.entrypoints=websecure"
|
||||
- "traefik.http.services.seerr.loadbalancer.server.port=5055"
|
||||
healthcheck:
|
||||
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
|
||||
start_period: 20s
|
||||
timeout: 3s
|
||||
interval: 15s
|
||||
retries: 3
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
gluetun_data:
|
||||
sonarr_config:
|
||||
radarr_config:
|
||||
prowlarr_config:
|
||||
sabnzbd_config:
|
||||
Reference in New Issue
Block a user