Skip to content

Instantly share code, notes, and snippets.

@bitsandbooks
Last active June 22, 2023 22:20
Show Gist options
  • Save bitsandbooks/67e84aa4d97e6a2cd100d4bcd54b2b6d to your computer and use it in GitHub Desktop.
Save bitsandbooks/67e84aa4d97e6a2cd100d4bcd54b2b6d to your computer and use it in GitHub Desktop.
Docker Compose for services
---
version: "3.8"
secrets:
OPENVPN_LOCATION:
file: "/path/to/secrets/openvpn-location.txt"
OPENVPN_USER:
file: "/path/to/secrets/openvpn-user.txt"
OPENVPN_PASSWORD:
file: "/path/to/secrets/openvpn-password.txt"
services:
plex:
container_name: plex
environment:
PUID: "2000"
PGID: "4000"
TZ: "Etc/UTC"
UMASK: "002"
VERSION: "latest"
healthcheck:
test: ["CMD", "/usr/bin/sh -c", "curl --silent --show-error --fail http://plex:32400/identity"]
interval: 1m30s
timeout: 10s
retries: 3
start_period: 40s
hostname: "valleylodge"
image: "lscr.io/linuxserver/plex:amd64-latest"
ports:
- "1900:1900/udp"
- "3005:3005"
- "5353:5353"
- "8324:8324"
- "32400:32400"
- "32410:32410/udp"
- "32412-32414:32412-32414/udp"
- "32469:32469"
restart: "unless-stopped"
volumes:
- "/path/to/apps/plex:/config"
- "/path/to/media:/media"
tautulli:
container_name: tautulli
depends_on:
- plex
environment:
PUID: "2000"
PGID: "4000"
TZ: "Etc/UTC"
hostname: "valleylodge"
image: lscr.io/linuxserver/tautulli:amd64-latest
ports:
- "8181:8181"
restart: "unless-stopped"
volumes:
- "/path/to/apps/tautulli:/config"
- "/path/to/plex/Library/Application Support/Plex Media Server/Logs:/logs:ro"
transmission:
cap_add:
- NET_ADMIN
container_name: transmission
dns:
- 1.1.1.1
- 1.0.0.1
- 8.8.8.8
- 8.8.4.4
environment:
CREATE_TUN_DEVICE: "true"
OPENVPN_PROVIDER: "PROVIDER"
OPENVPN_CONFIG__FILE: /run/secrets/OPENVPN_LOCATION
OPENVPN_USERNAME__FILE: /run/secrets/OPENVPN_USER
OPENVPN_PASSWORD__FILE: /run/secrets/OPENVPN_PASSWORD
OPENVPN_OPTS: " --inactive 3600 --ping 10 --ping-exit 60 "
LOCAL_NETWORK: "192.168.0.0/16"
PUID: "2000"
PGID: "4000"
WEBPROXY_ENABLED: "false"
HEALTH_CHECK_HOST: "yahoo.com"
TRANSMISSION_RPC_URL: "/transmission/"
TRANSMISSION_ALT_SPEED_DOWN: 56
TRANSMISSION_ALT_SPEED_ENABLED: "true"
TRANSMISSION_ALT_SPEED_TIME_BEGIN: 540 # minutes since midnight
TRANSMISSION_ALT_SPEED_TIME_ENABLED: "true"
TRANSMISSION_ALT_SPEED_TIME_END: 1430
TRANSMISSION_ALT_SPEED_UP: 56
TRANSMISSION_DOWNLOAD_QUEUE_SIZE: 6
TRANSMISSION_PEER_PORT: "50191"
TRANSMISSION_PORT_FORWARDING_ENABLED: "true"
TRANSMISSION_RATIO_LIMIT: 3
TRANSMISSION_RATIO_LIMIT_ENABLED: "true"
TRANSMISSION_RPC_HOST_WHITELIST: "127.0.0.1,192.168.*.*"
TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED: "false"
TRANSMISSION_SPEED_LIMIT_UP_ENABLED: "false"
TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES: "true"
TRANSMISSION_WEB_UI: transmission-web-control
TRANSMISSION_UMASK: "022"
TZ: "Etc/UTC"
hostname: "valleylodge"
image: "docker.io/haugene/transmission-openvpn:latest"
logging:
driver: json-file
options:
max-size: 10m
ports:
- "9091:9091"
- "50191:50191"
restart: "unless-stopped"
secrets:
- OPENVPN_LOCATION
- OPENVPN_USER
- OPENVPN_PASSWORD
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
volumes:
- "/path/to/apps/transmission:/config:rw"
- "/path/to/media/incoming:/data:rw"
- "/usr/share/zoneinfo/Etc/UTC:/etc/localtime:ro"
jackett:
container_name: jackett
environment:
PUID: "2000"
PGID: "4000"
TZ: "Etc/UTC"
AUTO_UPDATE: "true"
image: "lscr.io/linuxserver/jackett:amd64-latest"
ports:
- 9117:9117
restart: "unless-stopped"
volumes:
- "/path/to/apps/jackett/config:/config"
- "/path/to/apps/jackett/downloads:/downloads"
radarr:
container_name: radarr
depends_on:
- jackett
environment:
PUID: "2000"
PGID: "4000"
TZ: "Etc/UTC"
image: "lscr.io/linuxserver/radarr:amd64-latest"
ports:
- 7878:7878
restart: "unless-stopped"
volumes:
- "/path/to/apps/radarr:/config"
- "/path/to/media/movies:/media/movies"
- "/path/to/media/movies-kids:/media/movies-kids"
- "/path/to/media/incoming:/media/incoming"
- "/path/to/media/recycle-bin:/media/recycle-bin"
sonarr:
container_name: sonarr
depends_on:
- jackett
environment:
PUID: "2000"
PGID: "4000"
TZ: "Etc/UTC"
image: "lscr.io/linuxserver/sonarr:amd64-latest"
ports:
- 8989:8989
restart: "unless-stopped"
volumes:
- "/path/to/apps/sonarr:/config"
- "/path/to/media/incoming:/data:rw"
- "/path/to/media/tv:/media/tv"
- "/path/to/media/recycle-bin:/media/recycle-bin"
bazarr:
container_name: bazarr
depends_on:
- jackett
environment:
PUID: "2000"
PGID: "4000"
TZ: "Etc/UTC"
image: "lscr.io/linuxserver/bazarr:amd64-latest"
ports:
- 6767:6767
restart: "unless-stopped"
volumes:
- "/path/to/apps/bazarr:/config"
- "/path/to/media/tv:/media/tv"
- "/path/to/media/movies:/media/movies"
- "/path/to/media/incoming:/media/incoming"
- "/path/to/media/recycle-bin:/media/recycle-bin"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment