Basics: Introduction
-
Cloudbox is an Ansible and docker based solution for rapidly deploying a cloud media server on any x64 Ubuntu [18.04] Server.
-
Primary functions are: the automatic acquisition of media, storing that media on the cloud, and being able to play it back from anywhere and from any device.
-
NOTE: Cloudbox does not have a dashboard or GUI of its own. All Cloudbox-specific setup and commands are done on the linux command-line.
- Have your server setup behind your own domain, securely (e.g. https://apps.yourdomain.com).
- Have a system running in minutes with minimal input (a full server setup from scratch within minutes - see example here).
-
Docker containers keep your apps isolated from each other - no more conflicts between apps.
-
Docker containers keep your system tidy since none of the apps' files (executables and dependencies) are stored outside of the container.
-
Quickly install and uninstall apps.
- Store media on cloud storage to save on local drive space.
- You can decide whether to use Plex or Emby.
-
You can deploy Cloudbox on an all-in-one server, for downloading and streaming.
or
-
You can deploy Cloudbox between two servers: a Mediabox, as streaming server, and a Feederbox, as a downloading server.
- Cloudbox uses secure HTTPS provided by Let's Encrypt SSL certificates.
- Configuration files for all key applications are conveniently stored in /opt, which makes backup so easy. Easily pack up your server and move to another one with Cloudbox's built-in Backup.
Sonarr downloads your favorite TV Shows and Radarr downloads your favorite movies. Both use either Usenet (via NZBGet) and/or Torrents (via ruTorrent) to do this.[1] [2]
Once the downloads are complete, Sonarr & Radarr will move [or copy in the case of torrents] these downloads to your server's /mnt/local/Media/
folder[3] and send a notification to Plex Autoscan.
Plex AutoScan will, in turn, tell Plex to scan for the newly downloaded TV Show or Movie, by only scanning the specific season or movie folder. This will (1), make the media appear in Plex sooner than what a full library scan would have been able to do, and (2), reduce the chances of Cloud Storage API bans.
Cloudplow will eventually[4] move everything[5] from /mnt/local/Media/
to a folder named Media
on the remote cloud storage, thereby reducing the storage used on the (local) server.
During this migration, the media files will continue to be accessible to Media Servers (e.g. Plex) because the remote cloud storage (e.g. Google Drive) will be mounted on to the server as if it were a local drive. This is accomplished with an Rclone VFS mount pointing to the cloud storage, and a union of that mount with the server’s own local storage (accomplished via mergerfs
).
1 Some of the applications above can be replaced with similar apps.
2 If you want to use Torrents, it is recommended to be a member of a private tracker vs using public ones. If you want to to use Usenet, you will need to purchase Usenet provider service (or multiple services) and also be a member of one or more Usenet indexers.
3 The move to /mnt/local/Media
is indirect; Radarr/Sonarr are using /mnt/unionfs/Media
, and they move the file there, however, /mnt/local
is the only writeable part of the mergerfs [for the purpose of creating new files], so the newly-written files will be placed in /mnt/local
.
4 By default, Cloudplow will check every half hour to see if there is 200GB or data staged in /mnt/local
; if there is, all that data is pushed to your Google Drive. This threshold can be adjusted as needed in the Cloudplow config.
5 There is presently a 750GB/day upload limitation on Google accounts. The standard Cloudbox setup will describe setting up a Google Drive remote pointed at your My Drive. This limit can be eliminated by cycling through a set of service accounts [each of which can upload 750GB] to upload to one or more Shared Drives [aka Teamdrives]. This setup is not discussed in this wiki as yet; there is a document linked in the Discord [chazlarson-tip44
channel] that discusses it.
- Overview
- Presumptions
- Server
- Domain Name
- Cloudflare
- Cloud Storage
- Plex / Emby - Account
- Usenet vs. BitTorrent
Cloudbox
- Overview
- Dependencies (Choose only one of these)
- Settings
- Preinstall (Choose only one of these)
- SSH
- Ansible Vault
- Rclone
- Cloudbox (Choose only one of these)
- Application Setup
- Next Steps
Feederbox (do this first)
- Overview
- Dependencies
- Settings
- Preinstall
- SSH
- Ansible Vault
- Rclone
- Feederbox (Choose only one of these)
- Application Setup
- Next Steps
Mediabox
- Overview
- Dependencies
- Settings
- Preinstall
- SSH
- Ansible Vault
- Rclone
- Mediabox (Choose only one of these)
- Application Setup
- Next Steps
- Cloudplow (Media Uploader)
- cb utility script (Develop branch only}
- Updating Cloudbox (Choose only one of these)
- Updating Cloudbox Apps
- Removing Cloudbox Apps
- Resetting Cloudbox Apps
- Migrating Cloudbox
- Settings Updater
- Ansible Vault Primer
- Plex Access Token
- Plex Autoscan Extras
- Pushover
- Google Drive API Client ID and Client Secret
- Useful Docker Commands
- Add Your Own Docker Container into Cloudbox
- Revoking SSL Certificates
- Feeder Mount
- Adding a Subdomain
- HTTP Auth Support
- Emby
- Nextcloud
- Resilio Sync
- Plex DupeFinder
- Heimdall
- NZBHydra v1
- Plex Requests
- Sickbeard MP4 Automator
- SABnzbd
- Traktarr
See Community Wiki.