The TorBox Media Center allows you to easily mount your TorBox media in a no-frills way. This mounts your playable media files to your filesystem for use with Jellyfin, Emby, Plex, Infuse, VLC, or any other media player. With TorBox's custom built solution you can mount files as virtual files (which take up zero storage space), or as '.strm' files (which take up less than 1GB for libraries of any size).
Important
TorBox does not allow piracy or condone it in any way. This is meant to be used with media you own and have the rights to.
- Organizing your media automatically, using the TorBox Metadata Search API
- Mounting your media simply and safely
- Making sure your media is easily discoverable by media players
- Fast and effecient.
- Proxy for files (if your connection is slow)
- Compatible with all systems and OS (when using the
strm
mount method) - No limit on library size
- Automatically updating library and mounts
- Usability with TorBox
- Latest features for free
- Faster setup (no config necessary)
- No reliance on RClone
- Optimized for TorBox
- More video server/player support
- Works with torrents, usenet and web downloads.
- Folder customization (limited to 'movies' and 'series')
- Provides WebDAV server (use TorBox's WebDAV)
- Works with all types of files (limited to video files)
- Gets you banned from TorBox (developed by TorBox team)
- 'Repairing' or 'renewing' your library (this is against TorBox ToS)
- Adding new downloads
- Customizing downloads (update/rename)
- Manage downloads (delete)
Compatibility is limited to Linux/Unix/BSD based systems when using the fuse
option due to requiring FUSE. MacOS is also supported.
The strm
option is compatible with all systems.
If the fuse
option is selected and your system is incompatible, the application will give an error and will not run.
Note
If you are unsure, choose the strm
option.
The strm
option is geared towards media servers which support '.strm' files such as Jellyfin and Emby. If using either of these options, we recommend using the strm
mounting method.
The fuse
option is meant to be a fallback for everything else, Plex, VLC, Infuse, etc. This is due to the fuse method mounting the virtual files right to your filesystem as if they were local. This means that any video player will be able to stream from them and the TorBox Media Center will handle the rest.
Tip
Emby / Jellyfin => strm
Plex / VLC / Anything else => fuse
Above we explained compatibility, which should be the main driving factor for making a decision, but there are few other things we should mention.
- The virtual filesystem created by the
fuse
mounting method can be slower (playing files, reading files, listing files and directories) and take up more resources as it emulates an entire filesystem. It also may not play well with your Docker installation (if going that route). - The
strm
mounting method takes up more storage space, and disk reads and writes as they are physical text files. Over longer periods of time it can wear down your disk (not by much, but it is something we should mention). If you have a slow filesystem (hard drive vs SSD), this can be slower if you have a lot of files.
We wanted to reduce the number of moving parts required to use this application. RClone would only be used for FUSE mounting, but every single most Linux systems ship with some type of FUSE already, so RClone would be redundant. RClone also introduces more challenges, such as configuration, making sure versions are up to date, and you would still need FUSE anyways. This application doesn't provide a WebDAV API, so realistically, RClone isn't necessary here.
- A TorBox account. Must be on a paid plan. Sign up here.
- A server or computer running Linux/Unix/BSD/MacOS. Must be able to run Python or has administrator access (only necessary for Docker installation)
- A player in mind you want to use (for choosing a mounting method)
To run this project you will need to add the following environment variables to your .env
file or to your Docker run command.
TORBOX_API_KEY
Your TorBox API key used to authenticate with TorBox. You can find this here. This is required.
MOUNT_METHOD
The mounting method you want to use. Must be either strm
or fuse
. Read here for choosing a method. The default is strm
and is optional.
MOUNT_PATH
The mounting path where all of your files will be accessible. If inside of Docker, this path needs to be accessible to other applications. If running locally without Docker, this path must be owned.
MOUNT_REFRESH_TIME
How fast you would like your mount to look for new files. Must be either slow
for every 3 hours, normal
for every 2 hours, fast
for every 1 hour, or instant
for every 6 minutes. The default is fast
and is optional.
We provide bash scripts for running the TorBox Media Center easily by simply copying the script to your server or computer, and running it, following the prompts. This can be helpful if you aren't familiar with Docker, permissions or servers in general. Simply choose one in this folder that pertains to your system and run it in the terminal.
- Make sure you have Docker installed on your server/computer. You can find instructions on how to install Docker here (you can change your distribution in the guide).
- Edit the below Docker command with your proper environment variables and options. More Docker run commands can be found here.
docker run -it -d \
--name=torbox-media-center \
--restart=always \
--init \
-v /home/$(whoami)/torbox:/torbox \
-e TORBOX_API_KEY=<EDIT_THIS_KEY> \
-e MOUNT_METHOD=strm \
-e MOUNT_PATH=/torbox \
anonymoussystems/torbox-media-center:latest
or if you prefer Docker compose, this is the yaml, also found here.
name: torbox-media-center
services:
torbox-media-center:
container_name: torbox-media-center
stdin_open: true
tty: true
restart: always
volumes:
- /home/$(whoami)/torbox:/torbox
environment:
- TORBOX_API_KEY=<EDIT_THIS_KEY>
- MOUNT_METHOD=strm
- MOUNT_PATH=/torbox
image: anonymoussystems/torbox-media-center:latest
You may also use the Github repository container found here: ghcr.io/torbox-app/torbox-media-center:main
- Wait for the files to be mounted to your local system.
- Make sure you have Python installed. Anything from v3.6 should be okay.
- Download or git clone this repository.
git clone https://github.com/TorBox-App/torbox-media-center.git
or download the repository zip file here and extract the files.
- Create a
.env
file or rename.env.example
to.env
. - Edit or add in your environment variables to the
.env
file. - Install the requirements.
pip3 install -r requirements.txt
- Run the
main.py
script.
python3 main.py
- Wait for the files to be mounted to your local machine.
This can usually happen due to one of the following:
- There was an error during the processing/scraping phase where the media center attempts to get your files. Check your logs for any errors.
- Your folder permissions are incorrect. Make sure that Docker (or the user running Docker or the Python script) has acess to the the folder you have set.
- You can remedy this by using the command:
chown
on the folder to change the permissions. - If using Docker, you can set the environmental variables,
PUID
andPGID
to the user and group that owns the folder.
- You can remedy this by using the command:
- The folder does not exist. If you aren't using Docker or the easy setup scripts, then it is likely that the folder won't exist where the files need to be beforehand. Make this folder.
Make sure that your Plex/Jellyfin/Emby has access to the mounted folder outside of Docker. When you run Plex, Jellyfin, or Emby inside a Docker container, it's like the app is running in its own little isolated world, which creates a path mapping issue where your media files might appear at /torbox/movies
inside Docker while those same files are actually located at /home/user/torbox/movies
on your actual computer. Your media server needs to access files that exist on your real computer (outside Docker), but it's running inside Docker where the file paths look different, and if the permissions aren't set up correctly, the media server won't be able to read your movie and TV show files.
For example, if you have TorBox Media Center files stored at /home/wamy/torbox/movies
on your computer and you map it to /torbox/movies
inside your Docker container, Plex/Jellyfin/Emby needs to access the files at /home/wamy/torbox/movies
not /torbox/movies
. Heres what the configuration would look like for both applications:
This ensures that the files will be available on the host system at /home/wamy/torbox
.
-v /home/wamy/torbox:/torbox
-e MOUNT_PATH=/torbox
This ensures that Plex/Jellyfin/Emby can see the TorBox Media Center files on the host system.
-v /home/wamy/torbox:/torbox-media-center
Then inside your Plex/Jellyfin/Emby container, set the library location to /torbox-media-center/movies for movies, and /torbox-media-center/series for TV shows.
The Fuse mount is not meant to be editable, it is read-only. You cannot rename files, delete files, or move them around. This is by design as this software handles that. To delete a file, simply delete it from your TorBox account.
For support, email [email protected] or join our Discord server here. We will not give sources or help with piracy in any way. This is for technical support only.
Contributions are always welcome!
Please make sure to follow Conventional Commits when creating commit messages. We will authorize most pull requests, so don't hesitate to help out!