Cloudbox is an Ansible-based solution for rapidly deploying a Docker containerized cloud media server. It provides a simple and automated way to set up a powerful media server on your own hardware or a rented server.
Cloudbox comes with a wide range of applications for managing and streaming your media content. Some of the featured applications include:
- Media Servers: Plex, Emby
- Download Clients: NZBGet, ruTorrent, SABnzbd
- Indexers and Trackers: Jackett, NZBHydra2
- Automation: Sonarr, Radarr, Lidarr, Bazarr
- Management and Monitoring: Tautulli (PlexPy), Portainer, Netdata
- And many more...
For a full list of available applications, see the cloudbox.yml file.
To use Cloudbox, you will need the following:
- A server running Ubuntu Server 18.04 (Bionic Beaver). Other Debian-based distributions may work but are not officially supported.
- An x64 (64-bit) processor.
- Ansible installed on your local machine or on the server itself.
-
Clone the repository:
git clone https://github.com/Cloudbox/Cloudbox.git cd Cloudbox -
Create your configuration files: Cloudbox is configured using YAML files. You will need to create your own configuration files by copying the provided default files.
- Copy
defaults/accounts.yml.defaulttoaccounts.yml. - Copy
defaults/settings.yml.defaulttosettings.yml.
You can also copy
defaults/adv_settings.yml.defaulttoadv_settings.ymlanddefaults/backup_config.yml.defaulttobackup_config.ymlfor advanced configuration and backup settings. - Copy
-
Customize your configuration: Edit the
accounts.ymlandsettings.ymlfiles to match your needs. At a minimum, you should change the default username and password inaccounts.yml. -
Install Ansible roles: Cloudbox uses Ansible Galaxy to manage its role dependencies. Install the required roles by running:
ansible-galaxy install -r requirements.yml
Note: If
requirements.ymldoes not exist, this step might not be necessary. -
Run the Ansible playbook: Execute the following command to start the Cloudbox installation:
ansible-playbook cloudbox.yml
This will install and configure all the applications specified in the playbook. You can use tags to install specific parts of the Cloudbox stack. For example, to only install Plex, you can run:
ansible-playbook cloudbox.yml --tags plex
Cloudbox is highly configurable. The main configuration files are:
accounts.yml: Used to configure usernames, passwords, API keys, and other sensitive information.settings.yml: Used to configure general settings for your Cloudbox installation, such as download paths and application-specific settings.adv_settings.yml: For advanced settings that are not commonly changed.backup_config.yml: To configure backup settings.
These files are located in the root directory of the Cloudbox project. You must create them by copying the .default files from the defaults/ directory.
Once the Ansible playbook has finished running, your Cloudbox server will be up and running. The various applications will be available at the domain you configured in accounts.yml. For example, if your domain is example.com, you will be able to access Plex at http://plex.example.com.
A web portal like Organizr or Heimdall is usually installed to provide a single entry point to all your applications.
Contributions are welcome! Please read the CONTRIBUTING.md file for details on how to contribute to the project.
This project is licensed under the GPL 3.0 License - see the LICENSE.md file for details.