Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: "3.8"
- networks:
- media-net:
- driver: bridge
- # Extension fields for reusable configurations
- x-common-env: &common-env
- PUID: ${PUID}
- PGID: ${PGID}
- TZ: ${TZ}
- x-common-healthcheck: &common-healthcheck
- interval: 30s
- timeout: 20s
- retries: 5
- start_period: 60s
- x-restart-policy: &restart-policy
- restart: unless-stopped
- services:
- gluetun:
- image: qmcgaw/gluetun
- container_name: gluetun
- cap_add:
- - NET_ADMIN
- devices:
- - /dev/net/tun:/dev/net/tun
- ports:
- - 7080:8080
- - 6881:6881
- - 6881:6881/udp
- volumes:
- - ${DOCKER_DATA_PATH}/gluetun:/gluetun
- environment:
- - VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER}
- - OPENVPN_USER=${VPN_USERNAME}
- - OPENVPN_PASSWORD=${VPN_PASSWORD}
- - SERVER_REGIONS=${VPN_SERVER_REGION}
- - VPN_PORT_FORWARDING=${VPN_PORT_FORWARDING}
- - VPN_PORT_FORWARDING_STATUS_FILE=/gluetun/forwarded_port
- - TZ=${TZ}
- - UPDATER_PERIOD=${UPDATER_PERIOD}
- <<: *restart-policy
- networks:
- - media-net
- healthcheck:
- test: ["CMD", "wget", "--spider", "-q", "https://1.1.1.1"]
- interval: 60s
- timeout: 10s
- retries: 3
- qbittorrent:
- image: lscr.io/linuxserver/qbittorrent
- container_name: qbittorrent
- network_mode: "service:gluetun"
- environment:
- <<: *common-env
- WEBUI_PORT: 8080
- volumes:
- - ${DOCKER_DATA_PATH}/qbittorrent/config:/config
- - ${STORAGE_PATH}/movies:/movies
- - ${STORAGE_PATH}/shows:/shows
- - ${STORAGE_PATH}/downloads:/downloads
- depends_on:
- gluetun:
- condition: service_started
- <<: *restart-policy
- healthcheck:
- <<: *common-healthcheck
- test: ["CMD", "curl", "-f", "http://localhost:8080"]
- gluetun-qbt-port-sync:
- image: snoringdragon/gluetun-qbittorrent-port-manager
- container_name: gluetun-qbt-port-sync
- network_mode: "service:gluetun"
- environment:
- - QBITTORRENT_SERVER=localhost
- - QBITTORRENT_PORT=8080
- - QBITTORRENT_USER=${QBT_USERNAME}
- - QBITTORRENT_PASS=${QBT_PASSWORD}
- - GTM_PORT_FILE=/tmp/gluetun/forwarded_port
- volumes:
- - ${DOCKER_DATA_PATH}/gluetun:/tmp/gluetun:ro
- depends_on:
- qbittorrent:
- condition: service_healthy
- <<: *restart-policy
- radarr:
- image: lscr.io/linuxserver/radarr
- container_name: radarr
- ports:
- - 7878:7878
- environment:
- <<: *common-env
- volumes:
- - ${DOCKER_DATA_PATH}/radarr/config:/config
- - ${STORAGE_PATH}/movies:/movies
- <<: *restart-policy
- healthcheck:
- <<: *common-healthcheck
- test: ["CMD", "curl", "-f", "http://localhost:7878/ping"]
- networks:
- - media-net
- sonarr:
- image: lscr.io/linuxserver/sonarr
- container_name: sonarr
- ports:
- - 8989:8989
- environment:
- <<: *common-env
- volumes:
- - ${DOCKER_DATA_PATH}/sonarr/config:/config
- - ${STORAGE_PATH}/shows:/shows
- <<: *restart-policy
- healthcheck:
- <<: *common-healthcheck
- test: ["CMD", "curl", "-f", "http://localhost:8989/ping"]
- networks:
- - media-net
- prowlarr:
- image: lscr.io/linuxserver/prowlarr
- container_name: prowlarr
- ports:
- - 9696:9696
- environment:
- <<: *common-env
- volumes:
- - ${DOCKER_DATA_PATH}/prowlarr/config:/config
- <<: *restart-policy
- healthcheck:
- <<: *common-healthcheck
- test: ["CMD", "curl", "-f", "http://localhost:9696/ping"]
- networks:
- - media-net
- jellyseerr:
- image: fallenbagel/jellyseerr
- container_name: jellyseerr
- ports:
- - 5055:5055
- environment:
- - LOG_LEVEL=${LOG_LEVEL}
- - TZ=${TZ}
- volumes:
- - ${DOCKER_DATA_PATH}/jellyseerr/config:/app/config
- <<: *restart-policy
- healthcheck:
- <<: *common-healthcheck
- test:
- [
- "CMD",
- "wget",
- "--no-verbose",
- "--tries=1",
- "--spider",
- "http://localhost:5055/api/v1/status",
- ]
- networks:
- - media-net
- jellyfin:
- image: lscr.io/linuxserver/jellyfin
- container_name: jellyfin
- ports:
- - 8096:8096
- - 8920:8920
- - 7359:7359/udp
- - 1900:1900/udp
- group_add:
- - "104"
- devices:
- - /dev/dri:/dev/dri
- environment:
- <<: *common-env
- LIBVA_DRIVER_NAME: iHD
- volumes:
- - ${DOCKER_DATA_PATH}/jellyfin/config:/config
- - ${STORAGE_PATH}/shows:/data/shows
- - ${STORAGE_PATH}/movies:/data/movies
- - ${STORAGE_PATH}/music:/data/music
- <<: *restart-policy
- healthcheck:
- <<: *common-healthcheck
- test: ["CMD", "curl", "-f", "http://localhost:8096/health"]
- networks:
- - media-net
- bazarr:
- image: lscr.io/linuxserver/bazarr
- container_name: bazarr
- ports:
- - 6767:6767
- environment:
- <<: *common-env
- volumes:
- - ${DOCKER_DATA_PATH}/bazarr/config:/config
- - ${STORAGE_PATH}/movies:/movies
- - ${STORAGE_PATH}/shows:/shows
- <<: *restart-policy
- healthcheck:
- <<: *common-healthcheck
- test: ["CMD", "curl", "-f", "http://localhost:6767/api/system/status"]
- networks:
- - media-net
- ========
- # .env.example
- # Common
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DOCKER_DATA_PATH=./data
- STORAGE_PATH=./storage
- # Gluetun
- VPN_SERVICE_PROVIDER=
- VPN_USERNAME=
- VPN_PASSWORD=
- VPN_SERVER_REGION=
- VPN_PORT_FORWARDING=on
- UPDATER_PERIOD=24h
- # qBittorrent
- QBT_USERNAME=
- QBT_PASSWORD=
- # Jellyseerr
- LOG_LEVEL=info
Add Comment
Please, Sign In to add comment