This is a high level design notes and RFC type post. Feel free to provide feedback.
The current implementation of the Rock-on framework is simple and works for the most part. Judging from user feedback and download numbers, it’s definitely a hit. But there are some limitations
- Install wizard expects users to create Shares separately which is confusing some users. It would be nice if Share creation is part of it.
- Unnecessary input is requested from users such as internal db user/passwords, config Shares etc… which can be randomly generated or done properly on user’s behalf.
- Rock-on submission process is not well defined. Docker image providers(I am talking to you linuxserver.io) cannot easily submit new Rock-ons. It will be nice if there was a app store that accepts submissions.
- There is no generic Docker orchestration layer for power users to run arbitrary containers.
- There is hardly any information about available Rock-ons consolidated in one place. An app store like web app can solve this problem.
- The current UI layout clutters the display if there are a lot more Rock-ons.
In order to address above limitations, we’ll improve the current implementation in the following ways
- Provide a Rock-on store/registry with browsable and searchable listing.
- Provide a simple Rock-on submission interface for providers like linuxserver.io
- Simplify the install wizard(fewer inputs) and integrate Share creation into it.
- Update the Rock-on root Share layout so all configs can be supplied by it. And perhaps other settings; suggestions anyone?
- Improve the UI layout for categorization and searching of Rock-ons.
- Implement an Advanced area for generic Docker container orchestration. This should not interfere with the Rock-on UI or cause any confusion for non-advanced users.
We plan to address most if not all of the above limitations in the next phase. The development will be done in a separate branch named after this issue and others, so users can follow the progress. The hosted component bits of the work will be done in rockon-registry repository and will be licensed with GNU AGPL V3.