Last active
June 16, 2023 18:53
-
-
Save chadmiller/713fa4c5e9a1b28077bc490dbd11f039 to your computer and use it in GitHub Desktop.
tv setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.2" | |
ervices: | |
transmission: | |
image: haugene/transmission-openvpn:latest | |
hostname: docker-transmission-openvpn | |
restart: unless-stopped | |
volumes: | |
- '/your-data-directory-on-host/media/transmission:/data' | |
- '/your-data-directory-on-host/config/transmission:/config' | |
- '/etc/localtime:/etc/localtime:ro' | |
environment: | |
- CREATE_TUN_DEVICE=true | |
- OPENVPN_PROVIDER # EDIT | |
- OPENVPN_CONFIG # EDIT | |
- OPENVPN_USERNAME # EDIT | |
- OPENVPN_PASSWORD # EDIT | |
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 | |
- WEBPROXY_ENABLED=true | |
- LOCAL_NETWORK # EDIT | |
- DROP_DEFAULT_ROUTE=true | |
- PUID=33 | |
- PGID=33 | |
sysctls: | |
- net.ipv6.conf.all.disable_ipv6=0 | |
cap_add: | |
- NET_ADMIN | |
logging: &syslog_logging | |
driver: syslog | |
options: | |
tag: "docker/{{.Name}}" | |
ports: | |
- '9091:9091' | |
prowlarr: | |
image: cr.hotio.dev/hotio/prowlarr:latest | |
hostname: prowlarr | |
restart: unless-stopped | |
ports: | |
- "9696:9696" | |
#- "127.0.0.1:9696:9696" | |
environment: | |
- PUID=33 | |
- PGID=33 | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/config/prowlarr:/config | |
depends_on: | |
- transmission | |
logging: *syslog_logging | |
healthcheck: | |
interval: 2m30s | |
test: [ "CMD-SHELL", "curl -f http://localhost:9696/ || exit 1" ] | |
# settings: apps / sonarr. prowlarr server = http://prowlarr:9696/, sonaar server: http://sonarr:8989/, api key = (key from sonarr's settings/general/apikey) | |
# settings: apps / radarr. prowlarr server = http://prowlarr:9696/, radaar server: http://radarr:8989/, api key = (key from sonarr's settings/general/apikey) | |
# settings: download clients: transmission, host - transmission, username = root, category = sonaar | |
# settings: download clients: remote path mappings: host:transmission remotepath=/data localpath=/data/transmission | |
radarr: | |
image: cr.hotio.dev/hotio/radarr:latest | |
hostname: radarr | |
restart: unless-stopped | |
ports: | |
- "7878:7878" | |
#- "127.0.0.1:7878:7878" | |
environment: | |
- PUID=33 | |
- PGID=33 | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/config/radarr:/config | |
- /your-data-directory-on-host/media:/data | |
depends_on: | |
- prowlarr | |
logging: *syslog_logging | |
healthcheck: | |
interval: 2m30s | |
test: [ "CMD-SHELL", "curl -f http://localhost:7878/ || exit 1" ] | |
# settings: media management / root folder = /data/tv | |
# settings: download client: transmission, host - transmission, username = root, category = radarr | |
# settings: download clients: remote path mappings: host:transmission remotepath=/data localpath=/data/transmission | |
readarr-ebooks: | |
image: cr.hotio.dev/hotio/readarr:latest | |
hostname: readarr-ebooks | |
restart: unless-stopped | |
ports: | |
- "8787:8787" | |
environment: | |
- PUID=33 | |
- PGID=33 | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/config/readarr-ebooks:/config | |
- /your-data-directory-on-host/media:/data | |
depends_on: | |
- prowlarr | |
logging: *syslog_logging | |
healthcheck: | |
interval: 2m30s | |
test: [ "CMD-SHELL", "curl -f http://localhost:8787/ || exit 1" ] | |
# settings: media management / root folder = /data/ebooks | |
# settings: download client: transmission, host - transmission, username = root, category = readarr-ebooks | |
# settings: download clients: remote path mappings: host:transmission remotepath=/data localpath=/data/transmission | |
readarr-audiobooks: | |
image: cr.hotio.dev/hotio/readarr:latest | |
hostname: readarr-audiobooks | |
restart: unless-stopped | |
ports: | |
- "8788:8787" | |
environment: | |
- PUID=33 | |
- PGID=33 | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/config/readarr-audiobooks:/config | |
- /your-data-directory-on-host/media:/data | |
depends_on: | |
- prowlarr | |
logging: *syslog_logging | |
healthcheck: | |
interval: 2m30s | |
test: [ "CMD-SHELL", "curl -f http://localhost:8787/ || exit 1" ] | |
# settings: media management / root folder = /data/audiobooks | |
# settings: download client: transmission, host - transmission, username = root, category = readarr-audiobooks | |
# settings: download clients: remote path mappings: host:transmission remotepath=/data localpath=/data/transmission | |
sonarr: | |
image: cr.hotio.dev/hotio/sonarr:latest | |
hostname: sonarr | |
restart: unless-stopped | |
ports: | |
- "8989:8989" | |
#- "127.0.0.1:8989:8989" | |
environment: | |
- PUID=33 | |
- PGID=33 | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/config/sonarr:/config | |
- /your-data-directory-on-host/media:/data | |
depends_on: | |
- prowlarr | |
- transmission | |
logging: *syslog_logging | |
healthcheck: | |
interval: 2m30s | |
test: [ "CMD-SHELL", "curl -f http://localhost:8989/ || exit 1" ] | |
# settings: media management / root folder = /data/movies | |
# settings: download client: transmission, host - transmission, username = root, category = radaar | |
jellyfin: | |
image: jellyfin/jellyfin | |
#network_mode: host | |
hostname: jellyfin | |
restart: unless-stopped | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/media:/media:ro | |
- /your-data-directory-on-host/config/jellyfin:/config:rw | |
- /your-data-directory-on-host/cache/jellyfin:/cache:rw | |
healthcheck: | |
interval: 2m30s | |
test: [ "CMD-SHELL", "curl -f http://localhost:8096/health || exit 1" ] | |
logging: *syslog_logging | |
expose: | |
- 8096 | |
- 2869 | |
- 1900 | |
# settings: add movies = /data/movies | |
# settings: add tv = /data/tv | |
# settings: add users, giving read access to tv and movies | |
# in router, forward exterior port to 8096 | |
jellyseerr: | |
image: fallenbagel/jellyseerr:latest | |
restart: unless-stopped | |
ports: | |
- "5055:5055" | |
environment: | |
- LOG_LEVEL=info | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/config/jellyseerr:/app/config | |
logging: *syslog_logging | |
depends_on: | |
- jellyfin | |
- radarr | |
- sonarr | |
# settings: after creating user on jellyfin, follow wizard here. | |
audiobookshelf: | |
image: ghcr.io/advplyr/audiobookshelf | |
restart: unless-stopped | |
ports: | |
- "13378:80" | |
environment: | |
- CONFIG_PATH=/config | |
- METADATA_PATH=/metadata | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /your-data-directory-on-host/config/audiobookshelf/config>:/config | |
- /your-data-directory-on-host/config/audiobookshelf/metadata>:/metadata | |
- /your-data-directory-on-host/media/audiobooks:/audiobooks | |
- /your-data-directory-on-host/media/ebooks:/ebooks | |
- /your-data-directory-on-host/media/podcasts:/podcasts | |
logging: *syslog_logging | |
certbot: | |
image: certbot/certbot:latest | |
restart: "no" | |
volumes: | |
- /your-data-directory-on-host/config/certbot/etc:/etc/letsencrypt | |
- /your-data-directory-on-host/config/certbot/var:/var/lib/letsencrypt | |
- /etc/localtime:/etc/localtime:ro | |
logging: *syslog_logging | |
depends_on: | |
- nginx | |
nginx: | |
image: nginx:stable | |
restart: unless-stopped | |
ports: | |
- "50080:80" | |
- "50443:443" | |
volumes: | |
- /your-data-directory-on-host/config/certbot/etc:/etc/letsencrypt:ro | |
- /your-data-directory-on-host/config/nginx:/etc/nginx/conf.d:ro | |
- /your-data-directory-on-host/config/certbot/var:/var/www/certbot:ro | |
- /etc/localtime:/etc/localtime:ro | |
logging: *syslog_logging | |
## nginx config file /your-data-directory-on-host/config/nginx/default.conf | |
#server { | |
# listen 80; | |
# listen [::]:80; | |
# | |
# server_name YOUR-DNS-NAME; | |
# server_tokens off; | |
# | |
# location /.well-known/acme-challenge/ { | |
# root /var/www/certbot; | |
# } | |
# | |
# location / { | |
# return 301 https://YOUR-DNS-NAME$request_uri; | |
# } | |
#} | |
# | |
#server { | |
# listen 443 ssl http2; | |
# listen [::]:443 ssl http2; | |
# | |
# server_name YOUR-DNS-NAME; | |
# | |
# ssl_certificate /etc/letsencrypt/live/YOUR-DNS-NAME/fullchain.pem; | |
# ssl_certificate_key /etc/letsencrypt/live/YOUR-DNS-NAME/privkey.pem; | |
# | |
# location / { | |
# proxy_pass http://jellyfin:8096/; | |
# } | |
#} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mkdir /data/arr and /data/arr/config and /data/arr/media , or another path. That /data/arr is the "/your-data-directory-on-host" in the config file, which you will want to replace. | |
Configure jellyfin at host-port in compose yaml. Get its API key. | |
get vpn account. visit haygene transimission openvpn page for env vars. | |
start services. `docker-compose up -d` | |
visit prowlarr service at host-port in compose yaml. configure it to know about torrent search engines. copy the API | |
key from the config. | |
visit sonarr, configure indexer for prowlarr host-port and API key. configure it to reach transmission-openvpn and | |
use a tag of "sonarr" and save files into /data/completed | |
vist radarr. same with different tag. | |
Visit sonarr and radarr to get their API keys. Visit jellyseer configure its access to sonarr and radarr, and configure | |
it to trust jellyfin host-port and API key for auth. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment