All Projects → strues → swerpbox

strues / swerpbox

Licence: MIT license
SwerpBox, a seedbox and Media Center combined with the power of 🐳 Docker.

Programming Languages

shell
77523 projects
Makefile
30231 projects
Nginx
273 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to swerpbox

seedbox-from-scratch
The Dockered Seedbox From Scratch Mod 2 Script
Stars: ✭ 14 (-75.44%)
Mutual labels:  plex, rtorrent, seedbox, deluge
Muximux
A lightweight way to manage your HTPC
Stars: ✭ 1,008 (+1668.42%)
Mutual labels:  plex, deluge, htpc
Htpc Docker Standup
A simple docker-compose based configuration to stand up a new HTPC w/ Plex, Deluge, Sonarr, Radarr and more!
Stars: ✭ 160 (+180.7%)
Mutual labels:  plex, deluge, htpc
Mediabox
Container based media tools configuration
Stars: ✭ 325 (+470.18%)
Mutual labels:  plex, deluge
iFeral
A script for shared seedbox without root access.
Stars: ✭ 60 (+5.26%)
Mutual labels:  seedbox, deluge
seedbox
A Docker-powered seedbox with persistent data and more cool stuff.
Stars: ✭ 125 (+119.3%)
Mutual labels:  plex, seedbox
Betanin
beets based mitm of your torrent client and music player
Stars: ✭ 101 (+77.19%)
Mutual labels:  plex, htpc
Plexguide.com
Welcome to https://PlexGuide.com ~ Rapidly deploy multiple-hasty Docker Containers through Ansible with local or Unlimited Google HD Space!
Stars: ✭ 1,631 (+2761.4%)
Mutual labels:  plex, deluge
Media Docker
all-in-one deployment and configuration for an all-in-one media server, running on docker.
Stars: ✭ 148 (+159.65%)
Mutual labels:  plex, htpc
tdpt
Torrent downloading progress on Telegram
Stars: ✭ 32 (-43.86%)
Mutual labels:  rtorrent, deluge
Gooby
Gooby: The ultimate infinite Plex media server using a VPS and Cloud service
Stars: ✭ 230 (+303.51%)
Mutual labels:  plex, deluge
Heimdall
As the name suggests Heimdall Application Dashboard is a dashboard for all your web applications. It doesn't need to be limited to applications though, you can add links to anything you like.
Stars: ✭ 3,501 (+6042.11%)
Mutual labels:  plex, htpc
mediastack
All in one Docker Compose media server
Stars: ✭ 42 (-26.32%)
Mutual labels:  plex, deluge
Thoradia
Thoradia Add-ons Repository
Stars: ✭ 208 (+264.91%)
Mutual labels:  rtorrent, deluge
Organizr
HTPC/Homelab Services Organizer - Written in PHP
Stars: ✭ 3,605 (+6224.56%)
Mutual labels:  plex, htpc
Swizzin
A simple, modular seedbox solution
Stars: ✭ 888 (+1457.89%)
Mutual labels:  rtorrent, deluge
Docker Compose Usenet
Docker-powered usenet pipeline
Stars: ✭ 240 (+321.05%)
Mutual labels:  plex, htpc
MySB
MySB (MySeedBox) is more than a simplified installation script of a multi-users Seedbox. There are many solutions to install a Seedbox, but we never talk about safety and regular operations. MySB could be renamed MySSB (MySecuredSeedBox).
Stars: ✭ 105 (+84.21%)
Mutual labels:  rtorrent, seedbox
AudioAddict.bundle
Plex channel plugin for AudioAddict (radiotunes.com, di.fm, etc.)
Stars: ✭ 23 (-59.65%)
Mutual labels:  plex
Improved-Plex-Mobile
Changes to Plex web for a better mobile viewing experience. Finally, a better Plex mobile site.
Stars: ✭ 32 (-43.86%)
Mutual labels:  plex

What is SwerpBox?

SwerpBox, a seedbox and media center combined with the power of 🐳 Docker.

Table of Contents

Detailed documentation for containers is located within the docs folder. Clicking the link above will take you there.

Prerequisites

To run this application you need Docker Engine 1.10.0+ and Docker Compose with a version 1.6.0 or later.

If you don't have Docker installed and are running Ubuntu or Debian, you may use the setup script, setup-docker.sh. It will install Docker and Docker Compose for you.

bash setup-docker.sh

Getting Started

Fresh OS Install

SSH into your fresh server as the root user. Clone this repository with git clone https://github.com/strues/swerpbox.git.

Edit the config.sh file in the bootstrap/lib directory and adjust the settings as you see fit, namely the following variables:

  • SERVER_IP
  • SERVER_HOSTNAME
  • USER_LOGIN
  • USER_PASS

Note: for the minimum amount of potential problems, I recommend leaving the USER_LOGIN as swerp.

Run ./bootstrap/bootstrap.sh and let it do its thing.

The script will create a mostly complete .env file for you in the home directory of the user defined by the USER_LOGIN variable. All of the SwerpBox files will be placed in the home directory as well.

See the README for detailed instructions.

Existing System

Clone this repository or upload the contents of the repository to your web server. Where you place the SwerpBox files is where all the fun happens. I recommend working out of your home directory.

Example: /home/<USER>/swerpbox

Create a copy of the environment variables file with cp env_example .env and fill in the information to match with your environment.

The variables PGID, PUID, PLEX_UID, and PLEX_GUID must be set to the ids of the user running SwerpBox. If you aren't sure what the values of your user account are, you can find them by typing id $(whoami) on your server.

The output will look like this:

uid=1000(swerp) gid=1000(swerp) groups=1000(swerp)

It is crucial to set PGID and PUID variables to the values matching the user running SwerpBox.

Note: The file buildall.sh is meant for CI services. To start everything just run, make start or docker-compose up -d

The create-user.sh script will create a user and group named swerp, set the GID and UID, and create the .env file for you.

Running make help lists all commands available to you.

Containers

Base Images

Alpine

Ubuntu

Frontend

Nginx 1.11.9 compiled from source with Brotli compression and HTTP/2 support.

The nginx default host configuration is setup for you. Located in srv/nginx/vhost.d/site.conf. See the advanced configuration below for specifics on how to setup reverse proxies for enabled services.

Available variables:

  • TZ: Your timezone. Default: America/Denver
  • PUID: User UID. Default: 1000
  • PGID: User group id. Default: 1000

Volumes:

  • ./srv/nginx:/etc/nginx: Nginx configuration.
  • ./srv/public:/var/www/public: Web root for the frontend.

rTorrent/ruTorrent

ruTorrent and rTorrent with Autodl-Irssi running on Alpine Linux. Compiled with Media Info.

Includes PHP7.

RuTorrent is accessible via http://YOUR.IP.ADDR.ESS/rutorrent/

Available variables:

  • TZ: Your timezone. Default: America/Denver
  • PUID: User UID. Default: 1000
  • PGID: User group id. Default: 1000

Volumes:

  • ./data:/data: Location of saved files.
  • ./logs:/logs: Logs for php and rTorrent.
  • ./srv/public:/var/www/public/rutorrent: ruTorrent created in this container with autodl-irssi. Actually served from frontend.
  • ./config:/config: Configs for php, rTorrent, irssi, and autodl.

Deluge

This container runs the Deluge BitTorrent daemon and the web ui. To learn more, visit the Deluge website.

Deluge is accessible via http://YOUR.IP.ADDR.ESS/deluge

Available variables:

  • TZ: Your timezone. Default: America/Denver
  • PUID: User UID. Default: 1000
  • PGID: User group id. Default: 1000

Please checkout the Deluge docs section located here for initial configuration instructions.

Plex

Uses the official Plex Docker image. Checkout the readme here

Plex is accessible via http://YOUR.IP.ADDR.ESS:3400/web

The default library location is ./media

Available variables:

  • TZ: Your timezone. Default: America/Denver
  • PLEX_CLAIM: Plex claim token. Get it from: https://plex.tv/claim
  • ADVERTISE_IP: Server IP address for Plex. Default: http://127.0.0.1:32400
  • PLEX_UID: User UID. Default: 1000
  • PLEX_GID: User group id. Default: 1000
  • CHANGE_CONFIG_DIR_OWNERSHIP: Change directory ownership. Default: false

Sonarr

The Sonarr container runs on Ubuntu 16.04 via Mono

Sonarr is accessible via http://YOUR.IP.ADDR.ESS:8989

Available variables:

  • TZ: Your timezone. Default: America/Denver
  • PUID: User UID. Default: 1000
  • PGID: User group id. Default: 1000

Volumes:

  • ./config/sonarr:/config: Where the config files are stored.
  • ./data:/data: Entire directory of all files. Used to mount the complete folder.
  • ./data/downloading:/downloads: Where downloading torrents are located
  • ./media/TV Shows:/tv: Location of media directory, where Plex reads from. Sonarr hardlinks complete files here.

SickRage

Dropped in favor of Sonarr, but still included incase you prefer it.

SickRage is accessible via http://YOUR.IP.ADDR.ESS:8081

Available variables:

  • TZ: Your timezone. Default: America/Denver
  • PUID: User UID. Default: 1000
  • PGID: User group id. Default: 1000

Resilio-Sync

Sync uses peer-to-peer technology to provide fast, private file sharing for teams and individuals. By skipping the cloud, transfers can be significantly faster because files take the shortest path between devices. Sync does not store your information on servers in the cloud, avoiding cloud privacy concerns.

Web interface visible at http://YOUR.IP.ADDR.ESS:8888

Directories mounted for sync in /data/

Available variables:

  • TZ: Your timezone. Default: America/Denver
  • PUID: User UID. Default: 1000
  • PGID: User group id. Default: 1000

Credit

I give credit where it's due and would like to give a shoutout to LinuxServer.io. Parts of their Dockerfiles were borrowed and modified for this seedbox setup.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].