-
-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Is this a new feature request?
- I have searched the existing issues
Wanted change
I would like to hide the "Apps feature" and disable "HiDPI (Pixel Perfect)" as a standard setting serverside. is there a way to do those things easily?
Reason for change
make the tool more usable for a basic user
Purpose
Customizing the dashboard is a tall ask, but right now an admin should at a bare minimum set limits and defaults that the client is not able to override (streaming mode fps, allow command messages, stuff like that) .
This current stack is assuming the people running the server are the same people using the clients. We need some kind of comprehensive administrative makevoer for people that might be pubbing stuff like this out to randos or using it to make money.
Addendum
This stack was created from the ground up to be customized and whiteboxed, it is unbranded and all licensed under the MPL, these are not accidents and a lot of thought was put into this.
Ring 0 - rendering
The stack consists of some layers at your base you have pcmflux/pixelflux:
https://github.com/linuxserver/pixelflux/
https://github.com/linuxserver/pcmflux
Ring 1 - the server
https://github.com/selkies-project/selkies/tree/main/src
this is lacking the functionality outlined above it will take any instructions or settings from the client without limit this is the missing piece here, need safeguards.
Ring 2 - the client - 2 parts
This is where whiteboxing mostly comes in, IE say you are a browser isolation shop and you want to put your logo and you interface on top of ring 0 and 1, that is incredibly easy and a very low ask from even a jr developer because the client is broken into a core and a dashboard:
https://github.com/selkies-project/selkies/tree/main/addons/gst-web-core
The core code does everything, renders the stream, audio, input, gamepads, microphone, the whole thing in kiosk envs you can run just core if no need for a user facing dashboard. Core should basically never be touched by a third party it does what it does and the dashboard can send window messages to it to change its settings.
Then you have the dashboard and we actually already have multiple:
https://github.com/selkies-project/selkies/tree/main/addons/selkies-dashboard
https://github.com/selkies-project/selkies/tree/main/addons/selkies-dashboard-zinc
This is where whiteboxing comes in, you can make this all your own and specifically the example dashboard is vibe coded to facilitate this and because I am not a frontend developer:
https://github.com/selkies-project/selkies/blob/main/addons/selkies-dashboard/src/components/Sidebar.jsx
Just literally paste that code into any LLM and ask it for changes you will get back functioning code.
Development
Development has also been streamlined and you can test any and all your changes easily using any of our containers this mode is baked into all of them from the baseimage up:
git clone https://github.com/selkies-project/selkies.git
cd selkies
docker run --rm -it \
-p 3001:3001 \
-e PUID=1000 \
-e PGID=1000 \
--shm-size=1gb \
-e DEV_MODE=selkies-dashboard \
-v $(pwd):/config/src lsiobase/selkies:ubuntunoble bash
Once loaded you can change any component of the stack from the server up to the dashboard and it will automatically reload the mounted codebase and show the results in the browser live.
@ne0YT I highly recommend trying this development mode even if you are not a developer these components are easy to simply rip out IE the sidebar for apps:
https://github.com/selkies-project/selkies/blob/a577b656b48444be9b7a04bab17c0046e1e77e59/addons/selkies-dashboard/src/components/Sidebar.jsx#L2714-L2748
Write the file and watch it dissapear.
This is a very long way of saying if you are looking to customize the dashboard that is not a feature set I plan on directly integrating into this stack as we target the self hosted labber market not businesses and exposing the app to unknown or untrusted users, but I am trying to promote people to make this their own, fork it and go to town I made it and I do not care if someone becomes rich using this tech while completely ripping out accreditation, I just want people to use Linux.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status