Giter VIP home page Giter VIP logo

prusaslicer-novnc's Introduction

Prusaslicer noVNC Docker Container

Overview

This is a super basic noVNC build using supervisor to serve Prusaslicer in your favorite web browser. This was primarily built for users using the popular unraid NAS software, to allow them to quickly hop in a browser, slice, and upload their favorite 3D prints.

A lot of this was branched off of dmagyar's awesome prusaslicer-vnc-docker project, but I found it to be a bit complex for my needs and thought this approach would simplify things a lot.

How to use

In unraid

If you're using unraid, open your Docker page and under Template repositories, add https://github.com/helfrichmichael/unraid-templates and save it. You should then be able to Add Container for prusaslicer-novnc. For unraid, the template will default to 6080 for the noVNC web instance.

Outside of unraid

Docker

To run this image, you can run the following command: docker run --detach --volume=prusaslicer-novnc-data:/configs/ --volume=prusaslicer-novnc-prints:/prints/ -p 8080:8080 -e SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" --name=prusaslicer-novnc prusaslicer-novnc

This will bind /configs/ in the container to a local volume on my machine named prusaslicer-novnc-data. Additionally it will bind /prints/ in the container to superslicer-novnc-prints locally on my machine, it will bind port 8080 to 8080, and finally, it will provide an environment variable to keep Prusaslicer happy by providing an SSL_CERT_FILE.

Docker Compose

To use the pre-built image, simply clone this repository or copy docker-compose.yml and run docker compose up -d.

To build a new image, clone this repository and run docker compose up -f docker-compose.build.yml --build -d

Using a VNC Viewer

To use a VNC viewer with the container, the default port for X TigerVNC is 5900. You can add this port by adding -p 5900:5900 to your command to start the container to open this port for access.

GPU Acceleration/Passthrough

Like other Docker containers, you can pass your Nvidia GPU into the container using the NVIDIA_VISIBLE_DEVICES and NVIDIA_DRIVER_CAPABILITIES envs. You can define these using the value of all or by providing more narrow and specific values. This has only been tested on Nvidia GPUs.

In unraid you can set these values during set up. For containers outside of unraid, you can set this by adding the following params or similar -e NVIDIA_DRIVER_CAPABILITIES="all" NVIDIA_VISIBLE_DEVICES="all". If using Docker Compose, uncomment the enviroment variables in the relevant docker-compose.yaml file.

Links

Prusaslicer

Supervisor

GitHub Source

Docker

Buy Me A Coffee

prusaslicer-novnc's People

Contributors

helfrichmichael avatar mrlafitte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

prusaslicer-novnc's Issues

OrcaSlicer

I love what you have done for Cura, Prusaslicer, and Superslicer.

Have you considered doing similar for the Softfever fork of Bambu Studio, now called Orcaslicer?

[FR] Modify the noVNC favicon to be the Prusaslicer icon

Like the title states, there's an opportunity to improve the descriptiveness of the Prusaslicer noVNC webpage. Currently the page title is useful, but the icon is the generic noVNC favicon which isn't necessarily descriptive. There's a few ways to approach this so far in my mind:

  1. Fork the upstream Easy noVNC container to modify the favicon while it's building from source (shortly after pulling the ZIP, it can modify the files or favicons.

  2. Investigate further if there are any noVNC parameters for specifying a favicon (nothing that I've found so far).

Defining this as a feature request as it's not determinantal to the performance or behavior.

PS will not start on Unraid.

Here is the Log

2022-02-03 11:46:51,897 INFO supervisord started with pid 1 2022-02-03 11:46:52,899 INFO spawned: 'x11' with pid 16 2022-02-03 11:46:52,900 INFO spawned: 'easy-novnc' with pid 17 2022-02-03 11:46:52,901 INFO spawned: 'prusaslicer' with pid 18 2022-02-03 11:46:52,902 INFO spawned: 'openbox' with pid 19 2022-02-03 11:46:53,043 INFO exited: prusaslicer (terminated by SIGFPE; not expected) 2022-02-03 11:46:54,169 INFO success: x11 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2022-02-03 11:46:54,170 INFO success: easy-novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2022-02-03 11:46:54,170 INFO spawned: 'prusaslicer' with pid 41 2022-02-03 11:46:54,171 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2022-02-03 11:46:54,203 INFO exited: prusaslicer (terminated by SIGFPE; not expected) 2022-02-03 11:46:56,206 INFO spawned: 'prusaslicer' with pid 46 2022-02-03 11:46:56,238 INFO exited: prusaslicer (terminated by SIGSEGV; not expected) 2022-02-03 11:46:59,241 INFO spawned: 'prusaslicer' with pid 51 2022-02-03 11:46:59,274 INFO exited: prusaslicer (terminated by SIGFPE; not expected) 2022-02-03 11:47:00,275 INFO gave up: prusaslicer entered FATAL state, too many start retries too quickly

Enable VNC remote connection

Easy novnc is started with the -localhost flag, forwarding the port from docker does not allow VNC connection since it only listen to localhost.

 4447 1000      44768 S N /usr/bin/Xtigervnc -desktop Prusaslicer -localhost -rfbport 5900 -SecurityTypes None -AlwaysShared -AcceptKeyEvents -AcceptPointerEvents -AcceptSetDesktopSize -SendCutText -AcceptCutText :0
 4448 1000      12276 S N /usr/local/bin/easy-novnc --addr :8080 --host localhost --port 5900 --no-url-password --novnc-params resize=remote

I suggest to remove the flag and not exposing 5900 by default.
In this way the default behaviour will be the same but leave the possibility to use a VNC client if desired.

TIA

[FR] Option to select a specific PS Release

Right now it's using the latest on the release page.
As the time of the writing 2.4.1 beta 1

Would be nice to select at least between stable and beta

For me beta is fine ;) and i always opt for it.

On another note

A super slicer docker would be nice too for all the voron user out there.

Octoprint Upload

Trick on Unraid to get Octoprint to work properly? Doesn’t seem to want to properly test

Include Firefox-ESR as a package and option on OpenBox

To allow individuals to download STLs from a web browser directly inside the docker container (IE someone doesn't want to deal with the hassle of mounting a network share and binding it) we should look into including firefox-esr or some other fairly small/lightweight browser.

Going even further, an opportunity might exist to define the download folder in the initialization of the container to /prints/ or some other directory for making downloads a bit more seamless.

Docker not pulling down the latest version.

2.6.0 is released in final state, but the docker pulls down 2.5.2 still. I tried deleting the folder out of my appdata folder and downloading the docker again, but that doesn't seem to solve the problem.

[FR] Change default resolution

Great work on this, I use it daily.

I have one minor difficulty though: the default resolution that this appears in my browser is very low. Meaning dialog boxes and the such take up too much of the display. Is there a way to change the resolution?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.