Spoolman on OpenNept4une

OpenNept4une Spoolman

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.


I just discovered Spoolman the other day by pure accident. Read about it quickly in a comment on some social media platform and instantly had to look it up. It looks pretty sweet. In the past I have never really needed much organization for my filament. I only had a few rolls of a few colors and did not print very heavily. Since getting the Elegoo Neptune 4 Max I have dumped rolls into the printer. I now find myself with a bunch of half used rolls of filament and if I want to use them I have to eyeball how much is left. Yes my spools have meter and gram indicators but that’s still a rough guess. Spoolman takes the guesswork out of it all.

If you have a printer running Klipper you can probably install and use Spoolman. If you have a printer like an Elegoo Neptune 4 with Klipper – you can’t. Elegoo did something to the firmware that makes it so you cannot update with the current versions out there. Nor can you update the boards OS without breaking things I have read. Moonraker needs to be updated to use Spoolman. There is a procedure I have found for updating Moonraker on the Neptune but I HAVE NOT TRIED IT. I posted it over here on my other post but I will reference it here also. This was my push to install OpenNept4une.

This is my guide/what I did to get Spoolman on my Neptune 4 Max with OpenNept4une.




Install Docker

[https://docs.docker.com/engine/install/debian/] [https://docs.docker.com/engine/install/debian/#install-using-the-repository]


Install the prerequisites for Docker

Run an update

sudo apt update


Install Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verify your Docker was installed, run this test:

sudo docker run hello-world


Install Docker Compose

Time to install Docker Compose.

We need to know what system and architechture we are using. Most times it is Linux X86_64, but in our case withthe Neptune and its stock motherboard it is not. run the following commands to confirm your system.

This should display “Linux”

uname -s

This should display “aarch64”

uname -m


Check the releases to see if there is an update, as of this writing we are using v2.27.1 .


Install with this

Then run

sudo chmod +x /usr/local/bin/docker-compose


Everything should now be installed for Docker and Docker Compose. To check your install run:

docker-compose --version

Good to go right?



Install Spoolman

Time to install Spoolman with Docker Compose for our Neptune.

That last line will open up a a Nano editor window to create a new Docker Compose file.

In the new blank window that opened up in your terminal paste the following:

Press CTRL+O  to save and CTRL+X  to quit.


Now we have to run a few more commands before we can start Spoolman.

We need to add our mks user to the Docker group:

sudo usermod -aG docker $USER

Refresh the groups for the current session

newgrp docker

Now we need to change the ownership of the data folder.

sudo chown -R 1000:1000 /home/mks/spoolman/data


We can now start Spoolman with:

docker compose up -d (you need to be in the Spoolman directory where we saved the docker-compose.yml file)

To stop Spoolman:

docker compose stop


To view the Docker Compose logs if you are having issues

docker compose logs



Modify Klipper

Now we need to edit user_settings.conf  to add a couple of macros to Klipper/Fluidd.

From the same configuration tab in Klipper select and edit the user_settings.conf  file. Paste the following:

Save the file.

With the above configuration it is possible to run the SET_ACTIVE_SPOOL ID=1  command to set the currently tracked spool ID to 1, and the CLEAR_ACTIVE_SPOOL to clear spool tracking (useful when unloading filament for example).



Modify Moonraker


We need to add a new configuration file. From the configuration tab in Klipper click the +  sign on the menu bar and select Add File . It will now ask for a file name, name it moonraker-spoolman.conf .

Add New File

Paste the following into the new file:

Save the file.

Now we need to edit the Moonraker configuration to tell it to connect to the Spoolman server we created. Via the Klipper configuration menu we can access and edit/save all of the configuration files.

Select the moonraker.conf file and scroll to the bottom and add:

Save and restart.


That’s it!

You can now connect your browser to http://your_printer_IP:7912  and start setting up your Vendors, Filament and then Spools. You can also refresh your browser window with Klipper in it, if it has been open all this time, and you should see the Spoolman window on the Klipper/Fluidd screen.



Update Moonraker on the Neptune 4

If you would like to try the Moonraker update method below feel free, just be warned I have not tried it so I cannot attest to weather it works or not without breaking anything. Follow at your own risk.

To update Moonraker on the Elegoo Neptune 4 (UNTESTED):

SSH into the printer ssh mks@your_printers_IP_address , password makerbase .

  • Delete moonraker and mooonraker-env  folders (in /home/mks )
In the /etc/systemd/system  folder delete moonraker.service .

  • Install Moonraker by selecting 1  install then 2 Moonraker .
  • Choose 8  to go back and the Q  to quit back to the prompt
  • Now run cd ~/moonraker
  • Then run ./scripts/data-path-fix.sh

Instruction found on Reddit




Useful links

[https://github.com/Donkie/Spoolman] [https://docs.fluidd.xyz/features/spoolman] [https://www.youtube.com/watch?v=GlgM1HcyFIo&t=230s]

I found this great tutorial but it is in German. Use a browser translator and you’re set.



Discover more from Its_All.Lost

Subscribe to get the latest posts sent to your email.

Leave a Reply