Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
117 changes: 117 additions & 0 deletions interface/docker-based-rock-ons/spoolman.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
.. _Spoolman_rockon:

Spoolman Rock-on
================

Before you install Spoolman, you should understand the prerequisites
and configurations common to all Rockstor :ref:`rockons_intro`;
specifically the :ref:`rockons_preinstall` and :ref:`rockons_root`
requirement.


.. _Spoolman_whatis:

What is Spoolman
-----------------

From the author's repository description: "Spoolman is a self-hosted web service
designed to help you efficiently manage your 3D printer filament spools and monitor their usage.
It acts as a centralized database that seamlessly integrates with
popular 3D printing software like OctoPrint and Klipper/Moonraker.
When connected, it automatically updates spool weights as printing progresses,
giving you real-time insights into filament usage."

For more information go to https://github.com/Donkie/Spoolman.
Be sure to check for compatibility with your print system.


.. _Spoolman_install:

Installing Spoolman Rock-on
----------------------------
The Spoolman Rock-on requires a Rockstor share to use as the object store.
You should create this share in a pool with sufficient space for your needs
before beginning the Spoolman Rock-on installation.

Once your share is ready, click the "Install" button next to the Spoolman listing
on the Rock-ons page.

.. image:: /images/interface/docker-based-rock-ons/Spoolman_rockons.png
:width: 100%
:align: center


.. _Spoolman_share:

Spoolman Share
^^^^^^^^^^^^^^^^
Specify the share you created for Spoolman.

.. image:: /images/interface/docker-based-rock-ons/Spoolman_share.png
:width: 100%
:align: center

The Spoolman docker app does not run as root, so you must change the
ownership of the share so that the user is the same as the user you
created when installing Rockstor (the "admin" user) and the group is
"users". Give group full permissions, as well.
Comment on lines +54 to +57
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be worthwhile to mention that the admin:users should have the corresponding UID:GID of 1000:1000 in case that mapping changes in the future. What do you think @phillxnet?

Suggested change
The Spoolman docker app does not run as root, so you must change the
ownership of the share so that the user is the same as the user you
created when installing Rockstor (the "admin" user) and the group is
"users". Give group full permissions, as well.
The Spoolman docker app does not run as `root`, so you must change the ownership of the share to have the User ID (UID) as well as the group ID (GID) of `1000`.
Typically those values are assigned to the the user and group that were created when installing Rockstor (the `admin` user and its associated `users` group).
Give the group full permissions, as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like your wording better.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Hooverdan96 re:

What do you think @phillxnet?

Agreed. The admin user is likely to be 1000, but not guaranteed; plus explicit is best and it is the UID that is canonical for docker, not the user. We also have a partial unknown: group 1000 is from CentOS et-al (users), I don't think our "Built on openSUSE" base even have one out of the box (users group is 100 here). It may be that the user is all that matters here. Otherwise folks have to create a place-holder group of 1000 as we can only assign named groups to Shares. But if all works OK with Share owner as user 1000 only, we are good and can also use the -1 uid Rock-on element.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[EDIT] just check on a buildbot worker we use to prove stuff and it has the first use as buildbot, akin to a normal install where the first created non-system user is uid 1000:

id
uid=1000(buildbot) gid=100(users) groups=100(users)

So in that case the Web-UI admin user would then be 'other' than 1000, in this case I see:

id
uid=1026(radmin) gid=100(users) groups=100(users)

But a regular install on our new openSUSE base results in the following for the Web-UI setup created user:

id
uid=1000(radmin) gid=100(users) groups=100(users)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can drop the group permissions instruction; it was really "belt and suspenders". I just tested and it works fine leaving GID and group permissions at the default.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm leaning back to my original wording for the share owner. It seems to me that the one thing the admin does control is the username they picked when they install Rockstor. What do you think?


.. image:: /images/interface/docker-based-rock-ons/Spoolman_shareowner.png
:width: 100%
:align: center

.. _Spoolman_environment:

Spoolman Environment
^^^^^^^^^^^^^^^^^^^^
Spoolman does not need any environment variable defined.


.. _Spoolman_port:

Spoolman Port
^^^^^^^^^^^^^
Spoolman needs to know what TCP port you would like to assign to the Web admin interface.
Select a port that is not currently in use on your RockStor server.

.. image:: /images/interface/docker-based-rock-ons/Spoolman_port.png
:width: 100%
:align: center


.. _Spoolman_verify:

Spoolman Verify and Submit
^^^^^^^^^^^^^^^^^^^^^^^^^^
Verify the information you've provided is correct, then click "Submit".

.. image:: /images/interface/docker-based-rock-ons/Spoolman_submit.png
:width: 100%
:align: center

You'll see screens indicating the Rock-on is being installed. Click "Close".

.. image:: /images/interface/docker-based-rock-ons/Spoolman_installing.png
:width: 100%
:align: center

.. image:: /images/interface/docker-based-rock-ons/Spoolman_inprogress.png
:width: 100%
:align: center


.. _Spoolman_success:

Spoolman Installation Successful
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Congratulations! You can click the red "Spoolman UI" button or open a Web browser
and navigate to `http://ROCKSTOR-IP:PORT-NUMBER` to go to the Spoolman Web management interface.
There you can begin to create and manage your filament library.

.. image:: /images/interface/docker-based-rock-ons/Spoolman_success.png
:width: 100%
:align: center

.. image:: /images/interface/docker-based-rock-ons/Spoolman_homepage.png
:width: 100%
:align: center
1 change: 1 addition & 0 deletions interface/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,7 @@ Note that not all Rock-ons have their own specific instructions in these docs.
docker-based-rock-ons/openvpn-server
docker-based-rock-ons/plex-media-server
docker-based-rock-ons/scrutiny
docker-based-rock-ons/spoolman
docker-based-rock-ons/syncthing
docker-based-rock-ons/transmission-bittorrent
docker-based-rock-ons/youtrack
Expand Down
Loading