Skip to content

Prerequisites: Server

Chaz Larson edited this page Nov 5, 2021 · 45 revisions

Getting a Server

Some points below:

  • You will need a dedicated server, from a server provider (e.g. Hetzner, kimsufi, OVH, etc), installed with Ubuntu Server 18.04. Some non-Ubuntu Debian systems will also work, but the ONLY OS that sees routine automated testing is Ubuntu Server 18.04. If you use something other than that you are largely on your own.

    • Note: Ubuntu 18.10 is currently having issues with Docker python module install. This should be avoided for now. For more info, see here. Also note that "18.10" is not the same as "18.04".

    • Note: Ubuntu 20.04 is also not the same as "18.04" and as such is NOT SUPPORTED [which should be interpreted as DOESN'T WORK unless you want to work through breakage on your own] in master branch. [NOTE: Still true if you're reading this. The develop branch may work with Ubuntu 20.04]

  • Best results are seen with an actual dedicated server, not a VPS like those available from Linode, Vultr, or the like. Linodes, Vultr "Cloud Compute", Hetzner "Cloud Servers", and probably others like them, in particular, are known to not work in at least one significant way; nzbget reports 0 available disk space while Sonarr, Radarr, and tools like df and du report disk space as expected.

  • You will need root access to install Cloudbox.

  • Server should be a completely fresh OS install. Do not try to install any dependencies on your own, Cloudbox will do that for you.

  • Cloudbox only supports x64 (i.e. Intel or AMD 64) machines. ARM based hardware [such as the Raspberry Pi] is not supported.

  • Get a server with at least 100GB+ of hard disk space. Even though media is uploaded to the cloud, there is still a need local storage for things like app data and backups.

    Practically, you should have more like 500GB of space available at a minimum.

    Cloudplow's default folder size threshold, to upload media to the cloud, is set at 200GB. To lower that, you'll need to go here

    If you are planning to use Usenet, SSD should be considered required, and NVME highly recommended. Usenet is extremely disk I/O intensive.

    If you are planning to use torrents, you should have much more disk space than that available for seeding. Your seeding torrents will not be moved to your cloud storage; they will consume local disk space as long as they are seeding.

    If you are installing as a Feederbox/Mediabox setup rather than the all-in-one Cloudbox, the disk requirements change a bit. Downloading drives disk requirements on the Feederbox [as discussed above] and primarily the Plex/Emby metadata drives the disk requirements on the Mediabox. Depending on the size of your library, that metadata can be quite large.

  • If you are setting this up on a home server, verify, before installing Cloudbox:

    1. Make sure your ISP doesn't block ports 80 and 443 [if your ISP blocks these ports, it won't work.]
    2. Make sure that your router supports hairpin NAT [if this isn't supported, you won't be able to access apps via subdomain from inside your network]
    3. Open the relevant ports (eg 80, 443, etc) in your router/firewall and forward them to the IP of the box on which you want to install Cloudbox, before installing Cloudbox.
    4. Point your domain at your home IP and configure some dynamic DNS software to keep it updated. Cloudbox has a dynamic dns client available [it's not installed by default], but there are many ways to set this up. Make sure that DNS has propagated and your domain returns your home IP via ping or something like it, before installing Cloudbox.
  • If you are using a Scaleway server, read this.

Tips

Ubuntu 18.04

  • If you get an option like below, select choose ubuntu-1804-bionic-64-minimal.

  • Install OpenSSH server if asked.

Partitioning:

  • If you have multiple hard drives on the server (eg. 2 x 4 TB), put them in RAID 0 to maximize space and speed (you don't need redundancy as you can schedule backups of Cloudbox).

  • If you are using Hetzner's installimage [and possibly other config tools] AND you have a setup like one or more NVMEs and one of more HDDs and your plan is to install the OS on the NVME and use the HDDs for seeding or the like, configure ONLY the OS drives in installimage. Once the OS is installed you can partition and mount your additional drives.

  • Set all available space to / (remove /home and /data partitions).

  • Leave ample space in /boot (e.g. 2+ GB).

  • putting the /opt directory on a btrfs partition can dramatically reduce the amount of time your containers are down during backup.

  • Examples

    • Online.net

    • OVH

    • Hetzner installimage

      # Hetzner Online GmbH - installimage
      #
      # This file contains the configuration used to install this
      # system via installimage script. Comments have been removed.
      #
      # More information about the installimage script and
      # automatic installations can be found in our wiki:
      #
      # http://wiki.hetzner.de/index.php/Installimage
      #
      
      DRIVE1 /dev/nvme0n1
      DRIVE2 /dev/nvme1n1
      SWRAID 1
      SWRAIDLEVEL 0
      HOSTNAME cb.domain.com
      PART /boot  ext4     512M
      PART lvm    vg0       all
      LV vg0   swap   swap      swap         8G
      LV vg0   root    /     ext4      all
      IMAGE /root/.oldroot/nfs/install/../images/Ubuntu-1804-bionic-64-minimal.tar.gz
      
    • Hetzner installimage (with a separate 250G partition for /opt utilizing BTRFS for snapshot backups)

      # Hetzner Online GmbH - installimage
      #
      # This file contains the configuration used to install this
      # system via installimage script. Comments have been removed.
      #
      # More information about the installimage script and
      # automatic installations can be found in our wiki:
      #
      # http://wiki.hetzner.de/index.php/Installimage
      #
      
      DRIVE1 /dev/nvme0n1
      DRIVE2 /dev/nvme1n1
      SWRAID 1
      SWRAIDLEVEL 0
      HOSTNAME cb.domain.com
      PART /boot  ext4     512M
      PART lvm    vg0       all
      LV vg0   swap   swap      swap         8G
      LV vg0   opt   /opt     btrfs         250G
      LV vg0   root    /     ext4      all
      IMAGE /root/.oldroot/nfs/install/../images/Ubuntu-1804-bionic-64-minimal.tar.gz
      

Basics

  1. Introduction
  2. Cloudbox Install Types
  3. Cloudbox Paths
  4. Accessing Cloudbox Apps

Prerequisites

  1. Overview
  2. Presumptions
  3. Server
  4. Domain Name
  5. Cloudflare
  6. Cloud Storage
  7. Plex / Emby - Account
  8. Usenet vs. BitTorrent

Install Cloudbox

Cloudbox
  1. Overview
  2. Dependencies (Choose only one of these)
  3. Settings
  4. Preinstall (Choose only one of these)
  5. SSH
  6. Ansible Vault
  7. Rclone
  8. Cloudbox (Choose only one of these)
  9. Application Setup
    1. NZBGet
    2. ruTorrent
    3. NZBHydra2
    4. Jackett
    5. Plex Media Server
    6. Plex Autoscan
    7. Sonarr
    8. Radarr
    9. Lidarr
    10. PlexPy (Tautulli)
    11. Ombi
    12. Portainer
    13. Organizr
  10. Next Steps

Install Feederbox / Mediabox

Feederbox (do this first)
  1. Overview
  2. Dependencies
  3. Settings
  4. Preinstall
  5. SSH
  6. Ansible Vault
  7. Rclone
  8. Feederbox (Choose only one of these)
  9. Application Setup
    1. NZBGet
    2. ruTorrent
    3. NZBHydra2
    4. Jackett
    5. Sonarr
    6. Radarr
    7. Lidarr
    8. Portainer
    9. Organizr
  10. Next Steps

Mediabox
  1. Overview
  2. Dependencies
  3. Settings
  4. Preinstall
  5. SSH
  6. Ansible Vault
  7. Rclone
  8. Mediabox (Choose only one of these)
  9. Application Setup
    1. Feeder Mount
    2. Plex Media Server
    3. Plex Autoscan
    4. PlexPy (Tautulli)
    5. Ombi
  10. Next Steps

Recommended Reading

Backup and Restore

More Information

Advanced Configuration

Experimental

Extras

Misc

Community-Submitted

See Community Wiki.

Reference

Troubleshooting

Links

Clone this wiki locally