skorokithakis / mediacenter-in-a-box

A media center in a box, compatible with Harbormaster for one-line deployments.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mediacenter-in-a-box

The Mediacenter-in-a-box is a single, Harbormaster-compatible deployment that includes all the applications you need to set up a media center server.

It includes:

  • Jellyfin (to play your media)
  • Plex (to play your media more)
  • Ombi (so you can request media)
  • Overseerr (so you can request media again)
  • Sonarr (to manage your shows)
  • Radarr (to manage your movies)
  • Bazarr (to download subtitles)
  • Prowlarr (to manage your trackers)
  • Recyclarr (to add recommended settings to your *arrs)
  • Tautulli (for Plex stats)
  • SABnzbd (to download from Usenet)
  • qBittorrent (to download with BitTorrent)

To get this running with Harbormaster, all you need is the following configuration:

apps:
  mediacenterbox:
    url: https://github.com/skorokithakis/mediacenter-in-a-box.git
    environment:
      JELLYFIN_PublishedServerUrl: https://<your jellyfin URL>
      ADVERTISE_IP: https://your.plex.ip.com
      PLEX_CLAIM: your-claim-code
    replacements:
      MEDIA_DIR: /your/media/dir

You'll then need your own ingress server to get TLS and nice-looking hostnames (Caddy is recommended because of its simplicity). The ports you'll need to forward are:

  • Jellyfin: 53539
  • Plex: 32400
  • Ombi: 55542
  • Overseerr: 36882
  • Sonarr: 10087
  • Radarr: 59982
  • Bazarr: 10044
  • Prowlarr: 57045
  • Tautulli: 44011
  • SABnzbd: 40184
  • qBittorrent: 35944

That should be it for the initial setup! You can access your apps on the hostnames you selected, and start configuring.


THE BELOW IS SLIGHTLY OUT OF DATE.

Two mountpoints

There are two mountpoints here:

  • The downloads mountpoint, where downloads are placed.
  • The media mountpoint, where all the media is.

Three steps

There are three steps:

First, qTorrent downloads the files into the downloads mountpoint. That mountpoint contains three directories, incomplete, complete, and renamed. qBittorrent downloads files into the incomplete directory, and, when it's done, it moves them into the complete directory. A few minutes later, those files are OK to delete, so you can set qBittorrent to delete the files when done seeding.

Then, Filebot hardlinks the files from complete to renamed, with the final FS structure that will go into the media mountpoint. These files are now ready to transfer to the media mountpoint. This is done by a transfer.sh script that you should put in the filebot Harbormaster data directory. Your script can delete the files in the source when done.

Finally, the files are scanned and displayed by Jellyfin.

Considerations

If you have multiple media directories, you can use unionfs or mergefs to mount them on the media mountpoint as one. This is good to do anyway so that you can merge the local renamed directory with the (perhaps remote) media mountpoint, so Jellyfin can see the files immediately on download, without waiting to transfer them to the media directory.

About

A media center in a box, compatible with Harbormaster for one-line deployments.


Languages

Language:Python 100.0%