Rock-ons (Docker Plugins)

Rock-ons are Rockstor’s name for it’s use of docker containers to provide a Plugin System to easily expand the functions of a base Rockstor install. This feature is relatively new to Rockstor but is proving to be quite popular and is under active development.

Each Rock-on aims to provide a single additional service and the list of Rock-ons available by default is expanding all the time.

Initial Rock-ons Setup

As Rock-ons / docker containers are like mini linux installs they require somewhere to live. In Rockstor it is recommend that you setup a Share specifically for this purpose.

Note that all Rock-ons will then be installed into this shared area but each will remain independent and during the setup of each Rock-on you are given the option to store their respective configuration and data in other shares. This is good practice as it keeps your Rock-on config and data apart from the Rock-ons themselves. You do not have to separate the config and data within each Rock-on but that is also good practice, and is why this option is offered.

It is assumed you have already setup your Pools and one or more shares in those pools (see our Creating a share) appropriate for your Rock-ons, ie a plex-movies share and a plex-config share.

But we also need to create the The Rock-ons root share.

The Rock-ons root

All Rock-ons require the Rock-on service to be enabled and prior to enabling this service it must be configured. This is a simple matter of configuring a sufficiently large share for the rock-ons to be installed into. It is possible to use the existing ‘out of the box’ home share but this is not recommended.

The following shows a Recommended Minimum 5 GB rock-ons-root share backed by a previously created pool named rock-pool.


Note that during the lifetime of Rock-ons several snapshots will be created so plan to be able to expand this share if need be.

Then click on the spanner next to the Rock-on service on the System page.


Now to select the share to use for your Rock-ons root.


Select the rock-on-root share that we created earlier and Submit

You can now enable the Rock-on service and proceed to the Rock-ons page.


If no Rock-ons are showing on the All tab then click the Update button to refresh the list of available Rock-ons. To install a listed Rock-on use its Install button on the Rock-ons WebUI page.

Adding your own Rock-on

The rockon-registry contains the current list of freely available rock-on definition files and servers as the repository for Rock-ons available by default. Please consider donating, or asking your favourite project to donate, a rock-on via a GitHub pull request to this repository (see Contributing to Rockstor Rock-ons for more information). Note that it is also possible to add to the available Rock-ons by placing a suitably configured and named json file in the /opt/rockstor/rockons-metastore directory of your Rockstor install. For full instructions and examples please see the rockon-registry Some projects prefer to host their own Rock-on plugins and this feature enables the use of other projects official Rock-ons. An example of a project that takes advantage of this feature is Emby with their official Rock-on definition file for the Emby server component. However this same Emby Rock-on has now been added to the official Rockstor Rock-on registry.

Rock-ons available by default

As this list is continually growing the best place to view the currently included by default Rock-ons is at the rockon-registry or on the Rock-ons page All tab within the Rockstor WebUI directly after pressing the Update button.

Rock-ons without write-ups

Although the following Rock-ons are currently without specific install instructions they are like all Rock-on installs, fairly self explanatory.

  • Bitcoin: Bitcoin full node
  • Bitwarden: Unofficial server written in Rust for the password manager Bitwarden
  • Booksonic: Audiobooks streaming server
  • Cardigann: A proxy server for adding new indexers to Sonarr, SickRage and other media managers
  • Collabora online: LibreOffice-based online office suite
  • COPS: links to your Calibre library database and provides automation features
  • CouchPotato: Downloader for usenet and bittorrent users
  • Crashplan: Automatic cloud-based backups
  • Deluge: Deluge is a movie downloader for bittorrent users
  • Dropbox: Cloud-based file syncing solution
  • Duck DNS: Free dynamic DNS service
  • Duplicati 2.0: Free backup software to store encrypted backups online
  • ecoDMS: Electronic Document Managing System
  • Emby server: Emby media server
  • Ghost: A publishing platform for professional bloggers
  • GitLab CE: Git repository hosting and collaboration
  • Gogs: Go Git Service, a lightweight Git version control server and front end
  • Gollum: Gollum is a simple wiki system built on top of Git
  • Haproxy: Reliable, High Performance TCP/HTTP Load Balancer with letsencrypt integration
  • Headphones: Automated music downloader for NZB and Torrent
  • Home Assistant: Open-source home automation platform
  • HTTP to HTTPS redirect: Access the Rockstor web UI without having to remember to type “https:”
  • Jackett: Proxy server for queries from apps such as Sonarr, SickRage, CouchPotato, and Mylar
  • JDownloader 2: Free, open-source download management tool
  • Koel: Simple web-based personal audio streaming service
  • Lazy Librarian: Automated ebook downloader for NZB and Torrent
  • Logitech Squeezebox: Server for Squeezebox Devices
  • MariaDB: MariaDB, relational database management system
  • Medusa: Automatic video library manager for TV shows
  • Minecraft: Minecraft server
  • Muximux: Lightweight portal to view & manage your HTPC apps
  • Mylar: Automated Comic Book (cbr/cbz) downloader
  • Netdata: Real-time performance and health monitoring solution
  • Nextcloud: Next generation open source enterprise file sync and share
  • NZBGet: The most efficient usenet downloader
  • NZBHydra: Meta search for NZB indexers
  • Ombi: Host your own Plex Request and user management system
  • OwnCloud-Official: Secure file sharing and hosting
  • Pi-hole: A black hole for Internet advertisements
  • Plexpy: Python-based Plex usage tracker
  • PocketMine: Server software for Minecraft: Pocket Edition
  • Radarr: Radarr is a PVR for Movies on Usenet and Torrents
  • Resilio Synch: Fast, private file sharing for teams and individuals
  • Rocket.Chat: Open Source Chat Platform
  • SaBnzbd: The best usenet downloader
  • Seafile: Secure file sharing and hosting
  • Sickbeard: Internet PVR for your TV shows, by
  • Sickrage: Automatic Video Library Manager for TV Shows, by
  • SmokePing: Network latency history monitor
  • Sonarr: (formerly NZBdrone) A PVR for usenet and bittorrent users
  • Subsonic: Music server
  • Teamspeak: VoIP software
  • TFTP server: TFTP server
  • Transmission with OpenVPN: Transmission torrent client with webUI while connecting to OpenVPN
  • Ubuiquiti Unifi by Unifi Access Point controller, provided by
  • Unifi Controller: Unifi Access Point controller
  • uTorrent: BitTorrent client
  • Watchtower: A process for automating Docker container base image updates
  • Xeoma: Video surveillance
  • Zabbix-XXL: Network and application monitoring
  • ZeroNet: Decentralized websites using Bitcoin crypto and the BitTorrent network

Advanced Configuration

While the installation and initial setup of Rock-ons is kept as simple and user-friendly as possible, it is possible to further customize their configuration post-install. At the time of writing, users can extend their existing Rock-on installation with additional storage, or add customized docker container labels. Note that this area is under active development to provide further customization.

Add Storage

The Add Storage feature allows the binding of any Rockstor share to an installed Rock-on. As any share can be added as storage to multiple Rock-ons, this represents a convenient and easy way to make a set of files accessible to multiple Rock-ons.

To start, make sure the Rock-on is turned OFF, and click on the little wrench icon next to the ON / OFF toggle to display a summary of the Rock-on’s settings.


This summary table displays, all volumes, ports, environment variables, labels, and devices used by the Rock-on (if any). After a fresh Rock-on install, all objects set during the install are reported here. In our example, the Syncthing Rock-on has the Rockstor shares syncthing_conf and syncthing_sync mapped to the /config and /home/syncthing/Sync paths inside the Rock-on, respectively, exposes three different ports to the host, and uses two environment variables (PUID and GUID).


To Add Storage to this Rock-on, click the Add Storage button on the bottom right corner. Note that this button will only be displayed if the Rock-on supports this feature. In the following dialog window, select a previously-created share (see our Creating a share section), and define the path under which it will be seen from within the Rock-on.


In this example, the Rockstor share test_share01 will be added as /opt/my_added_share01 from within the Rock-on.

The next window summarizes the already-existing and new settings to be applied (here: new share). If everything is correct, click “Next” and then “Submit” to update the Rock-on settings with the newly-added storage. Internally, Rockstor will first uninstall the Rock-on before re-installing it with the updated settings summarized in the previous table.


Add Labels

The Add Labels feature allows to apply customized docker container labels (docker documentation) to any installed Rock-on. To add a new label within an existing Rock-on, make sure the Rock-on is turned OFF, and click on the little wrench icon next to the ON / OFF toggle to display a summary of the Rock-on’s settings (see Add Storage for description of this table).

To add a label to a given Rock-on, click the Add Label button at the bottom of the Rock-on settings summary page.


Notably, as labels are applied at the container level, the next dialog will allow you to select the container to which the label will be applied. Conveniently, Rockstor will only list the containers included in the current Rock-on. In the example below, the Rock-on includes two containers: helloworld1 and helloworld2.


To apply two different labels to the container helloworld2, simply add as many label fields as needed, and type your labels.


Click “Next” and verify your new label-to-container mapping(s) before finishing the procedure by clicking “Next” and “Submit”. Internally, Rockstor will first un-install the Rock-on before re-installing it with the newly-defined labels.