Skip to content

Instantly share code, notes, and snippets.

@bpetetot
Last active October 10, 2022 11:00
Show Gist options
  • Select an option

  • Save bpetetot/5ed198fdf5eb7c78f6c11e989dbf9544 to your computer and use it in GitHub Desktop.

Select an option

Save bpetetot/5ed198fdf5eb7c78f6c11e989dbf9544 to your computer and use it in GitHub Desktop.
Docker Seedbox
plex:
image: linuxserver/plex
container_name: plex
net: host
environment:
- VERSION=latest
- PUID=1000
- PGID=1001
- TZ=Europe/Paris
volumes:
- ./plex/config:/config
- ./data:/data
- ./plex/transcode:/transcode
labels:
- "traefik.backend=plex"
- "traefik.frontend.rule=Host:plex.petetot.fr"
- "traefik.port=32400"
deluge:
image: linuxserver/deluge
container_name: deluge
net: host
environment:
- PUID=1000
- PGID=1001
- TZ=Europe/Paris
volumes:
- ./deluge/config:/config
- ./data:/downloads
labels:
- "traefik.backend=deluge"
- "traefik.frontend.rule=Host:deluge.petetot.fr"
- "traefik.port=8112"
sonarr:
image: linuxserver/sonarr
container_name: sonarr
net: host
environment:
- PUID=1000
- PGID=1001
- TZ=Europe/Paris
volumes:
- ./sonarr/config:/config
- ./data/downloaded-tvshows:/downloads
- ./data/tvshows:/tv
labels:
- "traefik.backend=sonarr"
- "traefik.frontend.rule=Host:sonarr.petetot.fr"
- "traefik.port=8989"
radarr:
image: linuxserver/radarr
container_name: radarr
net: host
environment:
- PUID=1000
- PGID=1001
- TZ=Europe/Paris
volumes:
- ./radarr/config:/config
- ./data/downloaded-tvshows:/downloads
- ./data/movies:/movies
labels:
- "traefik.backend=radarr"
- "traefik.frontend.rule=Host:radarr.petetot.fr"
- "traefik.port=7878"
jackett:
image: linuxserver/jackett
container_name: jackett
net: host
environment:
- PUID=1000
- PGID=1001
- TZ=Europe/Paris
volumes:
- ./jackett/config:/config
- ./jackett/downloads:/downloads
labels:
- "traefik.backend=jackett"
- "traefik.frontend.rule=Host:jackett.petetot.fr"
- "traefik.port=9117"
[Unit]
Description=Seedbox Server
Requires=docker.service
After=docker.service
[Service]
Restart=always
WorkingDirectory=/home/seedbox/seedbox-docker/
ExecStart=/usr/local/bin/docker-compose -f docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f docker-compose.yml down
[Install]
WantedBy=default.target
@bpetetot
Copy link
Author

bpetetot commented Nov 5, 2016

Seedbox server

Features

  • Plex Media Server as media center
  • Deluge as torrent downloader
  • Sonarr as tvshows app
  • Radarr as movie app
  • Jackett as torrent aggregator

All docker images come from : https://www.linuxserver.io/

Install

  1. Install docker & docker-compose
  2. Edit docker-compose.yml changing PUID & PGID, to get yours type : id $USER
  3. copy docker-compose.yml to a directory in your home folder

Configure

In ./data folder create sub-folders :

  • current : used by deluge to put current downloads
  • downloaded-tvshows : used by deluge to move downloaded tvshows and then by sonarr to post-process them
  • tvshows : used by sonarr and plex to store and get tvshows
  • movies : used by plex to get movies
  • ...

Then configure each application with there web interface. Check docker-compose.yml to get folder mapping (volumes) for each container.

Run

run it with docker-compose up -d

check logs with docker-compose logs

stop with docker-compose down

Check

  • Plex will start on http://:32400/web
  • Deluge will start on http://:8112
  • Sonarr will start on http://:8989
  • Radarr will start on http://:7878
  • Jackett will start on http://:9117

Frequent problems

First Plex configuration

When you start Plex for the first time, you will need to create a SSH tunnel to access server configuration :
Open a Terminal window or your command prompt

  1. Enter the following command (substituting the IP address of your server as appropriate):
    ssh ip.address.of.server -L 8888:localhost:32400
  2. Open a browser window
  3. Type http://localhost:8888/web into the address bar
  4. The browser will connect to the server as if it were local and load Plex Web App

Check out plex documentation for more information

Configure Seedbox Server at startup with Systemd

  1. Stop your containers : docker-compose down
  2. Copy docker-seedbox.service file into /etc/systemd/system/ folder
  3. Change the WorkingDirectory with the base folder of docker-compose.yml file
  4. To start using the service, reload systemd and start the service :
systemctl daemon-reload
systemctl start docker-seedbox.service
  1. To enable the service at system startup, execute:
systemctl enable docker-seedbox.service

@devolution2409
Copy link

any chance of getting your traefik config?
I can't manage to make traefik do its routing job properly (i think this is related to the network_mode being host but i'm not sure)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment