[Support] Prusaslicer noVNC


Recommended Posts

Docker: https://hub.docker.com/r/mikeah/prusaslicer-novnc

GitHub: https://github.com/helfrichmichael/prusaslicer-novnc

 

Overview
I recently started to become slightly frustrated with my all of my varying devices having various STLs (the model files used for 3D Printing) that I am printing/want to print. I decided why not use unraid to host a share and then serve Prusaslicer via a Docker container? I have 3 printers, so sometimes I want to re-slice a model for another one of my printers or another filament type.

 

I started my search first in the Community Apps plugin and was sad to discover "No results found" when I searched for "prusaslicer", but luckily I landed on a few Docker containers with built-in VNC support. A few of the containers worked well, but I found them to be overly complex for the task at hand. In my approach I simplified the docker container as much as possible and provided some quality of life changes to keep Prusaslicer happy and healthy.

I was able to get this template added to the Community Apps plugin and I've also provided manual installation instructions. Feel free to add it and let me know if you run into any issues. From my testing so far, it runs really smooth in the browser and additionally is retaining the configuration properly through image wipes, etc.

Thanks and hope you all like it!

 

Installation guide
Using Community Apps, search for prusaslicer-novnc and it should return the MikeAH's Repository offering.


Manual installation process:

  1. Open your Docker page on your unraid instance.
  2. Scroll to the bottom and in the Template repositories textarea, add the URL below
  3. Then click ADD CONTAINER
  4. Select prusaslicer-novnc from the menu
  5. You will now set all of the varying environment variables. By default I used my /mnt/cache/appdata/prusaslicer for the /configs/ directory.
    • I also passed in a unraid share for my STL and GCODE files by adding a path for /prints/.
  6. Click APPLY or DONE.
  7. The docker should hopefully spin up and build successfully.
  8. You can now access your Prusaslicer instance at http://UNRAID_IP:6080 (or if you changed the port, use that port -- additionally UNRAID_IP is your unraid host IP).

 

Accessing the web interface

Once installed visit http://UNRAID_IP:6080 (UNRAID_IP will be your unraid host IP -- something like 192.168.1.92 for example).

 

Warnings and Best Practices

This uses VNC and noVNC to provide access to a Dockerized instance of Prusaslicer. In the default state, there is NO AUTHENTICATION whatsoever. This means any device on your local network will be able to access this Docker unless you've locked the Docker down or provided some network level security.


One method for securely accessing this remotely could be using ArgoTunnel (Cloudflare Tunnel) and Cloudflare Teams to provide remote access with an authentication layer. This would also in theory allow you to connect each of your printers in Prusaslicer to your Octoprint instances and seamlessly print from Prusaslicer directly to your printer.

 

Screenshot(s)

PrusaSlicerInTheBrowser.JPG

Edited by MikeAH
Updated the post with the latest info and also converted this to follow the format of other docker containers
  • Like 2
Link to comment
  • MikeAH changed the title to Prusaslicer in your browser via Docker. Slice your 3d prints anywhere using your favorite web browser!

Yo, thanks for this - I gave it a try this evening and I get the following in my logs:

 

2022-02-02 21:43:15,256 INFO supervisord started with pid 1
2022-02-02 21:43:16,258 INFO spawned: 'x11' with pid 15
2022-02-02 21:43:16,260 INFO spawned: 'easy-novnc' with pid 16
2022-02-02 21:43:16,261 INFO spawned: 'prusaslicer' with pid 17
2022-02-02 21:43:16,263 INFO spawned: 'openbox' with pid 18
2022-02-02 21:43:17,796 INFO success: x11 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:17,796 INFO success: easy-novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:17,796 INFO success: prusaslicer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:17,796 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:18,990 INFO exited: prusaslicer (terminated by SIGSEGV; not expected)
2022-02-02 21:43:19,992 INFO spawned: 'prusaslicer' with pid 29
2022-02-02 21:43:20,025 INFO exited: prusaslicer (terminated by SIGSEGV; not expected)
2022-02-02 21:43:21,401 INFO spawned: 'prusaslicer' with pid 41
2022-02-02 21:43:21,432 INFO exited: prusaslicer (terminated by SIGFPE; not expected)
2022-02-02 21:43:23,436 INFO spawned: 'prusaslicer' with pid 46
2022-02-02 21:43:23,466 INFO exited: prusaslicer (terminated by SIGSEGV; not expected)
2022-02-02 21:43:26,471 INFO spawned: 'prusaslicer' with pid 51
2022-02-02 21:43:26,518 INFO exited: prusaslicer (terminated by SIGFPE; not expected)
2022-02-02 21:43:26,471 INFO spawned: 'prusaslicer' with pid 51
2022-02-02 21:43:26,518 INFO exited: prusaslicer (terminated by SIGFPE; not expected)
2022-02-02 21:43:27,519 INFO gave up: prusaslicer entered FATAL state, too many start retries too quickly

 

When navigating to the IP:8080 I get the connect dialog then a blank/black VNC screen.  Any ideas?

Link to comment
  • MikeAH changed the title to [Support] Prusaslicer noVNC
2 hours ago, PsyVision said:

Yo, thanks for this - I gave it a try this evening and I get the following in my logs:

 

2022-02-02 21:43:15,256 INFO supervisord started with pid 1
2022-02-02 21:43:16,258 INFO spawned: 'x11' with pid 15
2022-02-02 21:43:16,260 INFO spawned: 'easy-novnc' with pid 16
2022-02-02 21:43:16,261 INFO spawned: 'prusaslicer' with pid 17
2022-02-02 21:43:16,263 INFO spawned: 'openbox' with pid 18
2022-02-02 21:43:17,796 INFO success: x11 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:17,796 INFO success: easy-novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:17,796 INFO success: prusaslicer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:17,796 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-02-02 21:43:18,990 INFO exited: prusaslicer (terminated by SIGSEGV; not expected)
2022-02-02 21:43:19,992 INFO spawned: 'prusaslicer' with pid 29
2022-02-02 21:43:20,025 INFO exited: prusaslicer (terminated by SIGSEGV; not expected)
2022-02-02 21:43:21,401 INFO spawned: 'prusaslicer' with pid 41
2022-02-02 21:43:21,432 INFO exited: prusaslicer (terminated by SIGFPE; not expected)
2022-02-02 21:43:23,436 INFO spawned: 'prusaslicer' with pid 46
2022-02-02 21:43:23,466 INFO exited: prusaslicer (terminated by SIGSEGV; not expected)
2022-02-02 21:43:26,471 INFO spawned: 'prusaslicer' with pid 51
2022-02-02 21:43:26,518 INFO exited: prusaslicer (terminated by SIGFPE; not expected)
2022-02-02 21:43:26,471 INFO spawned: 'prusaslicer' with pid 51
2022-02-02 21:43:26,518 INFO exited: prusaslicer (terminated by SIGFPE; not expected)
2022-02-02 21:43:27,519 INFO gave up: prusaslicer entered FATAL state, too many start retries too quickly

 

When navigating to the IP:8080 I get the connect dialog then a blank/black VNC screen.  Any ideas?


I just made another push to Docker and GitHub with a fix to the /configs/.config/ directory not existing for fresh installations. If this was the issue you were hitting, it's since been fixed. I tested on two devices with brand new docker volumes for it with success so 🤞.

Appreciate the kind words and support!

Link to comment
1 hour ago, MikeAH said:

Happy to help if I can and I feel that pain haha. What are your volume bindings set to out of curiosity? Anything else in the logs? Another thing to try is going into the console, and run

ls -la /configs/

and we can see if the .config folder is there.

I just tested once again with the latest image using /configs/ and port 6080 and it seemed to work just fine using the latest container.

 

I'm working on adding tags to better identify which image is truly the latest.


Disregard there was indeed a bug, thanks for catching it, @windlok1010. It's with how Prusaslicer handles stable/beta versioning on Linux. More specifically, if it's beta it uses .config/PrusaSlicerBeta and on stable it uses .config/PrusaSlicer. The script I used to pull the latest version takes either of them.

 

If there is a strong sentiment to not use the beta versions, let me know and I'll regex beta versions out of the pool.

I modified the Docker container to forcefully set the data directory to /configs/.config/PrusaSlicer going forward. I'm pushing to GitHub with the latest changes and I've already made a push as of 2 minutes ago.

This means if you were using this container successfully previously, you might need to move .config/PrusaSlicerBeta to .config/PrusaSlicer.

Edited by MikeAH
Tagging properly this time.
Link to comment
8 hours ago, MikeAH said:


Disregard there was indeed a bug, thanks for catching it, @windlok1010. It's with how Prusaslicer handles stable/beta versioning on Linux. More specifically, if it's beta it uses .config/PrusaSlicerBeta and on stable it uses .config/PrusaSlicer. The script I used to pull the latest version takes either of them.

 

If there is a strong sentiment to not use the beta versions, let me know and I'll regex beta versions out of the pool.

I modified the Docker container to forcefully set the data directory to /configs/.config/PrusaSlicer going forward. I'm pushing to GitHub with the latest changes and I've already made a push as of 2 minutes ago.

This means if you were using this container successfully previously, you might need to move .config/PrusaSlicerBeta to .config/PrusaSlicer.

just updated the container and it is working perfectly! Time to start slicing!

  • Like 1
Link to comment
On 2/8/2022 at 6:42 PM, lurkio said:

Any suggestions for performance? It works great, just a little choppy. Nice work!

What are the specs of the machine you're running it on and is it consistently choppy or only in the sliced preview?

FWIW this is being rendered using only your CPU using the default configuration which will be quite slow when slicing generally.  For me, the non-sliced preview is super smooth, but when I slice it's a bit lethargic. Still usable for me though.

Link to comment
  • 5 months later...
  • 4 months later...

Hi !

 

Just here to say that I'v been using cura, superslicer and prusaslicer with no hiccup for the last 2 months and I love it !

 

I've been running superslicer nightlybuild localy to get the latest goodies, is there a way to choose a specific build (nightly/RC) somehow ? I'm not fluent with docker images and I don't know what to change for it to work

Cheers !

Link to comment
  • 1 year later...

Thanks for making the "Slicer" dockers - I'm actually using the OrcaSlicer.  I am putting it on my server so we can access remotely.

 

We just got a new 3D printer (our 1st one - so Im pretty new at this), and when we do a bed mesh it won't display the mesh, only provides me with the message "Sorry, your browser does not support WebGL".  I'm running Chrome and it does work when I run OrcaSlicer natively on my computer.  Any thoughts?

 

I don't see anything referencing WebGL in the log, for both the docker log, and the logfile in AppData for OrcaSlicer.

 

Any idea?

Thansk! Jon

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.