Skip to content

Instantly share code, notes, and snippets.

@seanc
Last active October 10, 2022 10:58
Show Gist options
  • Save seanc/ab401d2b4f5e99069463901542fa8ad9 to your computer and use it in GitHub Desktop.
Save seanc/ab401d2b4f5e99069463901542fa8ad9 to your computer and use it in GitHub Desktop.
simple plexmediaserver on docker: nginx, letsencrypt, plex, portainer, transmission, transmission-proxy, jackett, sonarr, radarr, and ombi
version: '2'
services:
nginx-proxy:
container_name: nginx-proxy
image: jwilder/nginx-proxy
ports:
- "0.0.0.0:80:80"
- "0.0.0.0:443:443"
volumes:
- /etc/nginx/certs:/etc/nginx/certs:ro
- /etc/nginx/vhost.d:/etc/nginx/vhost.d:rw
- /var/www/html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
labels:
- "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"
letsencrypt-nginx-proxy-companion:
container_name: nginx-letsencrypt
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- /etc/nginx/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy:rw
plex:
container_name: plex
image: plexinc/pms-docker
restart: unless-stopped
ports:
- 32400:32400/tcp
- 3005:3005/tcp
- 8324:8324/tcp
- 1900:1900/udp
- 32469:32469/tcp
- 32410:32410/udp
- 32412:32412/udp
- 32413:32413/udp
- 32414:32414/udp
environment:
- TZ=UTC
- PLEX_CLAIM=[PLEX_CLAIM]
- ADVERTISE_IP=http://[PLEX_HOSTNAME]
- VIRTUAL_HOST=[PLEX_HOSTNAME]
- VIRTUAL_PORT=32400
- LETSENCRYPT_HOST=[PLEX_HOSTNAME]
- LETSENCRYPT_EMAIL=[LETSENCRYPT_EMAIL]
hostname: [PLEX_HOSTNAME]
volumes:
- /home/media/plex:/config
- /home/media/transcode:/transcode
- /home/media:/data
portainer:
container_name: portainer
image: portainer/portainer
ports:
- "127.0.0.1:9000:9000"
command: -H unix:///var/run/docker.sock
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/portainer:/data
environment:
- VIRTUAL_HOST=[PORTAINER_HOSTNAME]
- VIRTUAL_PORT=9000
- LETSENCRYPT_HOST=[PORTAINER_HOSTNAME]
- LETSENCRYPT_EMAIL=[LETSENCRYPT_EMAIL]
transmission:
container_name: transmission
image: haugene/transmission-openvpn
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
restart: always
ports:
- "9091:9091"
- "8888:8888"
dns:
- 1.1.1.1
- 1.0.0.1
volumes:
- /etc/localtime:/etc/localtime:ro
- /home/media/transmission:/data
environment:
- OPENVPN_PROVIDER=PIA
- OPENVPN_USERNAME=[OPENVPN_USERNAME]
- OPENVPN_PASSWORD=[OPENVPN_PASSWORD]
- OPENVPN_CONFIG=pia-France
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
- LOCAL_NETWORK=192.168.0.0/24
- TRANSMISSION_WEB_UI=kettu
- TRANSMISSION_RATIO_LIMIT=0
- TRANSMISSION_RATIO_LIMIT_ENABLED=true
- TRANSMISSION_RPC_PASSWORD=[TRANSMISSION_RPC_PASSWORD]
- TRANSMISSION_RPC_USERNAME=[TRANSMISSION_RPC_USERNAME]
- TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true
transmission-proxy:
container_name: transmission-proxy
image: haugene/transmission-openvpn-proxy
links:
- transmission
ports:
- "8080:8080"
environment:
- VIRTUAL_HOST=[TRANSMISSION_HOSTNAME]
- VIRTUAL_PORT=8080
- LETSENCRYPT_HOST=[TRANSMISSION_HOSTNAME]
- LETSENCRYPT_EMAIL=[LETSENCRYPT_EMAIL]
volumes:
- /etc/localtime:/etc/localtime:ro
jackett:
image: linuxserver/jackett
container_name: jackett
restart: always
environment:
- PGID=0
- PUID=0
- TZ=America/New_York
- VIRTUAL_HOST=[JACKETT_HOSTNAME]
- VIRTUAL_PORT=9117
- LETSENCRYPT_HOST=[JACKETT_HOSTNAME]
- LETSENCRYPT_EMAIL=[LETSENCRYPT_EMAIL]
volumes:
- /opt/jackett/config:/config
- /opt/jackett/downloads:/downloads:rw
ports:
- "9117:9117"
sonarr:
container_name: sonarr
image: linuxserver/sonarr
restart: always
ports:
- "8989:8989"
environment:
- PGID=0
- PUID=0
- TZ=America/New_York
- VIRTUAL_HOST=[SONARR_HOSTNAME]
- VIRTUAL_PORT=8989
- LETSENCRYPT_HOST=[SOANRR_HOSTNAME]
- LETSENCRYPT_EMAIL=[LETSENCRYPT_EMAIL]
volumes:
- /opt/sonarr/config:/config
- /home/media/tv:/tv:rw
- /home/media/transmission/completed/sonarr:/data/completed/sonarr:rw
radarr:
container_name: radarr
image: linuxserver/radarr
restart: always
ports:
- "7878:7878"
environment:
- PGID=0
- PUID=0
- TZ=America/New_York
- VIRTUAL_HOST=[RADARR_HOSTNAME]
- VIRTUAL_PORT=7878
- LETSENCRYPT_HOST=[RADARR_HOSTNAME}
- LETSENCRYPT_EMAIL=[LETSENCRYPT_EMAIL]
volumes:
- /opt/radarr/config:/config
- /home/media/transmission/completed/radarr:/data/completed/radarr:rw
- /home/media/movies:/movies:rw
ombi:
container_name: ombi
image: linuxserver/ombi
restart: always
ports:
- "127.0.0.1:3579:3579"
environment:
- PGID=0
- PUID=0
- TZ=America/New_York
- VIRTUAL_HOST=[OMBI_HOSTNAME]
- VIRTUAL_PORT=3579
- LETSENCRYPT_HOST=[OMBI_HOSTNAME]
- LETSENCRYPT_EMAIL=[LETSENCRYPT_EMAIL]
volumes:
- /opt/ombi:/config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment