xpipe-io / xpipe

Your entire server infrastructure at your fingertips
https://xpipe.io
Apache License 2.0
3.41k stars 88 forks source link

Create a docker image with web interface #86

Open schklom opened 1 year ago

schklom commented 1 year ago

The project looks great! Would it be possible to write a Dockerfile so that people can host this service easily via Docker?

crschnick commented 1 year ago

This is intended to be installed as a desktop application on your workstation due to how it utilizes your existing commandline tools.

It is not a service that you can host, not even in a local docker container. For it to work properly, it needs access to your local file system, executables, environment variables, and should be able to spawn processes that run on your local machine and not within the container.

I understand that a lot of people prefer the simplicity and isolation of containers, but it is basically impossible to put this into one.

schklom commented 1 year ago

it needs access to your local file system, executables, environment variables, and should be able to spawn processes that run on your local machine

I am fairly sure this is all doable inside a container. I mean, VS-Code does it. I would personally use this service on a server to manage the files there and on other machines. The requirement would be to expose this via http, or display the window in the same way that https://github.com/nelyon/wanderbird does (via xrdp).

crschnick commented 1 year ago

Alright so I looked at this a little bit more closely. I think displaying the window via some form of rdp is a big stretch and will also hamper the user experience, so essentially what this boils down to is creating a web interface for xpipe.

This would definitely be possible, the daemon and API works independently of the GUI and can also be called from a web interface. But this is definitely a big task and would also require maintaining both user interfaces. I personally can't do that myself, but maybe someone wants to try that.

schklom commented 1 year ago

Thanks for the feedback! I have no idea how to start coding this, but maybe someone will :)

One thought that may help for the maintenance: it might be acceptable that the app works in the background and opens a webpage instead of a window. This way, there would be only the web interface to maintain.

crschnick commented 7 months ago

If anyone is interested in realizing this feature and also has experience with web development, this should be doable. I can't do everything myself, but provide a proper API endpoint for a web interface when needed.

I marked this issue as help wanted

crschnick commented 1 month ago

There is now a webtop docker image available for xpipe, i.e. a desktop environment that you can running a container and access from a browser at https://github.com/xpipe-io/xpipe-webtop

This is not a true containerized version of xpipe with a true web interface, but it's a start. Because right now xpipe requires a desktop environment with other installed applications, that is how it's designed.

The image is currently in testing with the PTB build and the latest image version is the ptb tag with ghcr.io/xpipe-io/xpipe-webtop:ptb

crschnick commented 1 month ago

This is now released with xpipe 12 at https://github.com/xpipe-io/xpipe-webtop.