Bobarr is fantastic -- but I need to mirror an HD library with a portable (SD) library in one stack!
10K+
A typical Bobarr installation only uses one Database (bobarr). When configuring concurrent 1080p & 720p Bobarr services you will have to manually create unique DB schemas for 1080p and 720p respectively. DB username and password can remain in the ubiquitous environmental variables (.env) file. Remove a default DB name from the ".env" file and a distinct variable for each 1080p vs. 720p will be entered as additional Environmental Variables for each respective container instead.
- /LocalStorage/orDockerVolume/1080Or720api/:/usr/src/app
- /path/to/1080pOr720pLibrary/:/usr/library
- PORT=3000 #1080p Web
- PORT=4000 #1080p API
- PORT=3001 #720p Web
- PORT=4001 #720p API
- POSTGRES_DB=[1080p DB name] #1080p service(s)
- POSTGRES_DB=[720p DB name] #720p service(s)
If using a VPN container for API services, include in docker-compse:
network_mode: "service:[vpn_service_name]"
for the API service(s).
If networking API service(s) through a VPN such as described above, include a link in the Web containers:
links:
- [vpn_service_name]:[api_service_name]
networks:
arrnet:
name: arrnet
driver: bridge
volumes:
arr_jackett_web_www:
arr_jackett_web_nginx:
arr_flaresolverr_web_www:
arr_flaresolverr_web_nginx:
services:
wireguard:
image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE #optional
env_file: ./env
volumes:
- /[localstorage]/wireguard/config/:/config
- /lib/modules:/lib/modules #optional
ports:
- 51820:51820/udp
- 9091:9091
- 9092:9092
- 9117:9117
- 8191:8191
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=1
restart: unless-stopped
networks:
- arrnet
dns:
- 1.1.1.2
- 1.0.0.2
organizr: #optional
container_name: organizr
image: organizr/organizr
env_file: ./env
environment:
- fpm="false" #optional
volumes:
- /[localstorage]/organizr/:/config
networks:
- arrnet
ports:
- 80:80
restart: unless-stopped
postgres:
container_name: postgres
image: postgres:12-alpine
env_file: ./env
volumes:
- /[localstorage]/postgresql/:/var/lib/postgresql/data
networks:
- arrnet
ports:
- 5432:5432
restart: unless-stopped
redis:
container_name: redis
image: bitnami/redis
env_file: ./env
environment:
- REDIS_IO_THREADS=8
- REDIS_IO_THREADS_DO_READS=yes
- LANGUAGE=en_US.UTF-8
- LANG=en_US.UTF-8
- LC_ALL=en_US.UTF-8
volumes:
- /[localstorage]/redis/redis.conf:/opt/bitnami/redis/mounted-etc/redis.conf
- /[localstorage]/redis/data/:/bitnami/redis/data
networks:
- arrnet
ports:
- 6379:6379
restart: unless-stopped
jackett:
container_name: arr-jackett
image: linuxserver/jackett
env_file: ./env
volumes:
- /[localstorage]/jackett/config:/config
- /[localstorage]/jackett/downloads:/downloads
network_mode: "service:wireguard"
depends_on:
- wireguard
restart: unless-stopped
jackett-web: &web
image: dperson/nginx
container_name: arr-jackett-web
depends_on:
- jackett
environment:
- TZ=[continent]/[city]
volumes:
- arr_jackett_web_www:/srv/www
- arr_jackett_web_nginx:/etc/nginx
networks:
- arrnet
ports:
- 8817:80
links:
- wireguard:jackett
command: -w "http://wireguard:9117;/"
restart: unless-stopped
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr
container_name: arr-flaresolverr
environment:
- LOG_LEVEL=info
network_mode: "service:wireguard"
depends_on:
- wireguard
restart: unless-stopped
flaresolverr-web:
<<: *web
container_name: arr-flaresolverr-web
volumes:
- arr_flaresolverr_web_www:/srv/www
- arr_flaresolverr_web_nginx:/etc/nginx
depends_on:
- flaresolverr
ports:
- 8891:80
links:
- wireguard:flaresolverr
command: -w "http://wireguard:8191;/"
bobarr-1080-api:
container_name: arr-bobarr-1080-api
image: longlivethepenguin/bobarr-1080-api:latest
env_file: ./env
environment:
- TRANSMISSION_HOST=transmission-1080
- TRANSMISSION_PORT=9091
- API_QUALITY=1080
- POSTGRES_DB=[1080_db_name]
- PORT=4000
- PGID=1000
volumes:
- /[localstorage]/library_1080/:/usr/library
ports:
- 4000:4000
networks:
- arrnet
links:
- wireguard:flaresolverr
- wireguard:jackett
- wireguard:transmission-1080
- redis
- postgres
depends_on:
- postgres
- redis
restart: unless-stopped
bobarr-720-api:
container_name: arr-bobarr-720-api
image: longlivethepenguin/bobarr-720-api:latest
env_file: ./env
environment:
- TRANSMISSION_HOST=transmission-720
- TRANSMISSION_PORT=9093
- API_QUALITY=720
- POSTGRES_DB=[720_db_name]
- PORT=4001
- PGID=1000
volumes:
- /[localstorage]/library_720/:/usr/library
ports:
- 4001:4001
networks:
- arrnet
links:
- wireguard:flaresolverr
- wireguard:jackett
- wireguard:transmission-720
- redis
- postgres
depends_on:
- postgres
- redis
restart: unless-stopped
bobarr-1080-web:
container_name: arr-bobarr-1080-web
image: longlivethepenguin/bobarr-1080-web:latest
env_file: ./env
environment:
- WEB_UI_API_URL=http://bobarr-1080-api:4000
- API_QUALITY=1080
- POSTGRES_DB=[1080_db_name]
- PORT=3000
links:
- wireguard:flaresolverr
- wireguard:jackett
- redis
- postgres
- bobarr-1080-api
ports:
- 3000:3000
networks:
- arrnet
depends_on:
- bobarr-1080-api
bobarr-720-web:
container_name: arr-bobarr-720-web
image: longlivethepenguin/bobarr-720-web:latest
env_file: ./env
environment:
- WEB_UI_API_URL=http://bobarr-720-api:4001
- API_QUALITY=720
- POSTGRES_DB=[720_db_name]
- PORT=3001
links:
- wireguard:flaresolverr
- wireguard:jackett
- redis
- postgres
- bobarr-720-api
ports:
- 3001:3001
networks:
- arrnet
depends_on:
- bobarr-720-api
TZ=[continent]/[city]
LANG=en_US.UTF-8
UMASK_SET=0002
PUID=1000
PGID=['Docker' user group on host machine]
POSTGRES_USER=bobarr
POSTGRES_PASSWORD=[secret]
REDIS_PASSWORD=[secret]
JACKETT_AUTOMATIC_SEARCH_TIMEOUT=120000
JACKETT_MANUAL_SEARCH_TIMEOUT=15000
DEBUG_REDIS=false
LIBRARY_MOVIES_FOLDER_NAME=movies
LIBRARY_TV_SHOWS_FOLDER_NAME=tvshow
DB_HOST=postgres
REDIS_HOST=redis
If you wish to run multiple distinct Transmission instances [which would inherently require unique port numbers] they can be configured as follows in docker-compose.yml:
config directories for 1080 & 720 respectivelysettings.json files for each config (either from iam4x or your own source)settings.json "rpc-port", "peer-port", "peer-port-random-high", and "peer-port-random-low" to be unique (they can vary by as little value as 1)transmission-1080: &transmission
image: linuxserver/transmission
container_name: transmission-1080
env_file: ./.env
volumes:
- /path/to/1080/downloads/:/usr/library/downloads
- /path/to/1080/config/:/config
- /path/to/1080/watch/:/watch
network_mode: "service:[vpn_service_name]"
depends_on:
- [vpn_service_name]
restart: unless-stopped
transmission-720:
<<: *transmission
container_name: transmission-720
volumes:
- /path/to/720/downloads/:/usr/library/downloads
- /path/to/720/config/:/config
- /path/to/720/watch/:/watch
transmission-1080-web: &transmission-web
image: dperson/nginx
container_name: transmission-1080-web
depends_on:
- transmission-1080
env_file: ./.env
ports:
- "9091:80" ## Your First Unique Port Here!
links:
- [vpn_service_name]:transmission-1080
command: -w "http://transmission-1080:9091;/"
restart: unless-stopped
transmission-720 web:
<<: *transmission-web
image: dperson/nginx
container_name: transmission-1080-web
depends_on:
- transmission-720
ports:
- "9092:80" ## Your Second Unique Port Here!
links:
- [vpn_service_name]:transmission-720
command: -w "http://transmission-720:9092;/"
I never much cared for Transmission's dated and lack-luster Web Ui... Try "Flood" on for size!!
flood-1080: &flood
container_name: flood-1080
hostname: flood-1080
image: jesec/flood
user: 1000:109
command: --port 3001 --allowedpath /data
env_file: .env
volumes:
- /path/to/flood1080/config/:/config
- /path/to/transmission-1080/downloads/:/data
ports:
- 3031:3001 ## Pick a random port here; 3001 conflicts with Bobarr 720p Web
links:
- [vpn_service_name]:transmission-1080
networks:
- default ## Replace this if you have a different network defined for the stack
depends_on:
- transmission-1080
restart: unless-stopped
flood-720:
<<: *flood
container_name: flood-720
hostname: flood-720
volumes:
- /path/to/flood720/config/:/config
- /path/to/transmission-720/downloads/:/data
ports:
- 3032:3001 ## Pick another random port here that doesn't conflict with Bobarr or Flood 1080
links:
- [vpn_service_name]:transmission-720
depends_on:
- transmission-720
Content type
Image
Digest
sha256:43c5578c4…
Size
197.9 MB
Last updated
over 2 years ago
docker pull longlivethepenguin/bobarr-1080-api