Skip to content

Commit f60f7f3

Browse files
Bot Updating Documentation
1 parent c84f222 commit f60f7f3

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed

docs/images/docker-baseimage-selkies.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,110 @@ All application settings are passed via environment variables:
5555
* 5 - Centered
5656
* 6 - Animated
5757

58+
## Selkies application settings
59+
60+
Using environment variables every facet of the application can be configured.
61+
62+
### Setting Types and UI Customization
63+
64+
Certain setting types have special syntax for advanced control over the client-side UI and available options. A key concept is that **any setting that is locked to a single value will not be rendered in the UI**, giving the user no option to change it. This, combined with the various `ui_` visibility settings, allows administrators to completely customize the client interface.
65+
66+
#### Booleans and Locking
67+
Boolean settings accept `true` or `false`. You can also prevent the user from changing a boolean setting in the UI by appending `|locked`. The UI toggle for this setting will be hidden.
68+
69+
* **Example**: To force CPU encoding on and prevent the user from disabling it:
70+
```bash
71+
-e SELKIES_USE_CPU="true|locked"
72+
```
73+
74+
#### Enums and Lists
75+
These settings accept a comma-separated list of values. Their behavior depends on the number of items provided:
76+
77+
* **Multiple Values**: The first item in the list becomes the default selection, and all items in the list become the available options in the UI dropdown.
78+
* **Single Value**: The provided value becomes the default, and the UI dropdown is hidden because the choice is locked.
79+
80+
* **Example**: Force the encoder to be `jpeg` with no other options available to the user:
81+
```bash
82+
-e SELKIES_ENCODER="jpeg"
83+
```
84+
85+
#### Ranges
86+
Range settings define a minimum and maximum for a value (e.g., framerate).
87+
88+
* **To set a range**: Use a hyphen-separated `min-max` format. The UI will show a slider.
89+
* **To set a fixed value**: Provide a single number. This will lock the value and hide the UI slider.
90+
91+
* **Example**: Lock the framerate to exactly 60 FPS.
92+
```bash
93+
-e SELKIES_FRAMERATE="60"
94+
```
95+
96+
#### Manual Resolution Mode
97+
The server can be forced to use a single, fixed resolution for all connecting clients. This mode is automatically activated if `SELKIES_MANUAL_WIDTH`, `SELKIES_MANUAL_HEIGHT`, or `SELKIES_IS_MANUAL_RESOLUTION_MODE` is set.
98+
99+
* If `SELKIES_MANUAL_WIDTH` and/or `SELKIES_MANUAL_HEIGHT` are set, the resolution is locked to those values.
100+
* If `SELKIES_IS_MANUAL_RESOLUTION_MODE` is set to `true` without specifying width or height, the resolution defaults to **1024x768**.
101+
* When this mode is active, the client UI for changing resolution is disabled.
102+
103+
| Environment Variable | Default Value | Description |
104+
| --- | --- | --- |
105+
| `SELKIES_UI_TITLE` | `'Selkies'` | Title in top left corner of sidebar. |
106+
| `SELKIES_UI_SHOW_LOGO` | `True` | Show the Selkies logo in the sidebar. |
107+
| `SELKIES_UI_SHOW_SIDEBAR` | `True` | Show the main sidebar UI. |
108+
| `SELKIES_UI_SHOW_CORE_BUTTONS` | `True` | Show the core components buttons display, audio, microphone, and gamepad. |
109+
| `SELKIES_UI_SIDEBAR_SHOW_VIDEO_SETTINGS` | `True` | Show the video settings section in the sidebar. |
110+
| `SELKIES_UI_SIDEBAR_SHOW_SCREEN_SETTINGS` | `True` | Show the screen settings section in the sidebar. |
111+
| `SELKIES_UI_SIDEBAR_SHOW_AUDIO_SETTINGS` | `True` | Show the audio settings section in the sidebar. |
112+
| `SELKIES_UI_SIDEBAR_SHOW_STATS` | `True` | Show the stats section in the sidebar. |
113+
| `SELKIES_UI_SIDEBAR_SHOW_CLIPBOARD` | `True` | Show the clipboard section in the sidebar. |
114+
| `SELKIES_UI_SIDEBAR_SHOW_FILES` | `True` | Show the file transfer section in the sidebar. |
115+
| `SELKIES_UI_SIDEBAR_SHOW_APPS` | `True` | Show the applications section in the sidebar. |
116+
| `SELKIES_UI_SIDEBAR_SHOW_SHARING` | `True` | Show the sharing section in the sidebar. |
117+
| `SELKIES_UI_SIDEBAR_SHOW_GAMEPADS` | `True` | Show the gamepads section in the sidebar. |
118+
| `SELKIES_UI_SIDEBAR_SHOW_FULLSCREEN` | `True` | Show the fullscreen button in the sidebar. |
119+
| `SELKIES_UI_SIDEBAR_SHOW_GAMING_MODE` | `True` | Show the gaming mode button in the sidebar. |
120+
| `SELKIES_UI_SIDEBAR_SHOW_TRACKPAD` | `True` | Show the virtual trackpad button in the sidebar. |
121+
| `SELKIES_UI_SIDEBAR_SHOW_KEYBOARD_BUTTON` | `True` | Show the on-screen keyboard button in the display area. |
122+
| `SELKIES_UI_SIDEBAR_SHOW_SOFT_BUTTONS` | `True` | Show the soft buttons section in the sidebar. |
123+
| `SELKIES_AUDIO_ENABLED` | `True` | Enable server-to-client audio streaming. |
124+
| `SELKIES_MICROPHONE_ENABLED` | `True` | Enable client-to-server microphone forwarding. |
125+
| `SELKIES_GAMEPAD_ENABLED` | `True` | Enable gamepad support. |
126+
| `SELKIES_CLIPBOARD_ENABLED` | `True` | Enable clipboard synchronization. |
127+
| `SELKIES_COMMAND_ENABLED` | `True` | Enable parsing of command websocket messages. |
128+
| `SELKIES_FILE_TRANSFERS` | `'upload,download'` | Allowed file transfer directions (comma-separated: "upload,download"). Set to "" or "none" to disable. |
129+
| `SELKIES_ENCODER` | `'x264enc,x264enc-striped,jpeg'` | The default video encoders. |
130+
| `SELKIES_FRAMERATE` | `'8-120'` | Allowed framerate range or a fixed value. |
131+
| `SELKIES_H264_CRF` | `'5-50'` | Allowed H.264 CRF range or a fixed value. |
132+
| `SELKIES_JPEG_QUALITY` | `'1-100'` | Allowed JPEG quality range or a fixed value. |
133+
| `SELKIES_H264_FULLCOLOR` | `False` | Enable H.264 full color range for pixelflux encoders. |
134+
| `SELKIES_H264_STREAMING_MODE` | `False` | Enable H.264 streaming mode for pixelflux encoders. |
135+
| `SELKIES_USE_CPU` | `False` | Force CPU-based encoding for pixelflux. |
136+
| `SELKIES_USE_PAINT_OVER_QUALITY` | `True` | Enable high-quality paint-over for static scenes. |
137+
| `SELKIES_PAINT_OVER_JPEG_QUALITY` | `'1-100'` | Allowed JPEG paint-over quality range or a fixed value. |
138+
| `SELKIES_H264_PAINTOVER_CRF` | `'5-50'` | Allowed H.264 paint-over CRF range or a fixed value. |
139+
| `SELKIES_H264_PAINTOVER_BURST_FRAMES` | `'1-30'` | Allowed H.264 paint-over burst frames range or a fixed value. |
140+
| `SELKIES_SECOND_SCREEN` | `True` | Enable support for a second monitor/display. |
141+
| `SELKIES_AUDIO_BITRATE` | `'320000'` | The default audio bitrate. |
142+
| `SELKIES_IS_MANUAL_RESOLUTION_MODE` | `False` | Lock the resolution to the manual width/height values. |
143+
| `SELKIES_MANUAL_WIDTH` | `0` | Lock width to a fixed value. Setting this forces manual resolution mode. |
144+
| `SELKIES_MANUAL_HEIGHT` | `0` | Lock height to a fixed value. Setting this forces manual resolution mode. |
145+
| `SELKIES_SCALING_DPI` | `'96'` | The default DPI for UI scaling. |
146+
| `SELKIES_ENABLE_BINARY_CLIPBOARD` | `False` | Allow binary data on the clipboard. |
147+
| `SELKIES_USE_BROWSER_CURSORS` | `False` | Use browser CSS cursors instead of rendering to canvas. |
148+
| `SELKIES_USE_CSS_SCALING` | `False` | HiDPI when false, if true a lower resolution is sent from the client and the canvas is stretched. |
149+
| `SELKIES_PORT` (or `CUSTOM_WS_PORT`) | `8082` | Port for the data websocket server. |
150+
| `SELKIES_DRI_NODE` (or `DRI_NODE`) | `''` | Path to the DRI render node for VA-API. |
151+
| `SELKIES_AUDIO_DEVICE_NAME` | `'output.monitor'` | Audio device name for pcmflux capture. |
152+
| `SELKIES_WATERMARK_PATH` (or `WATERMARK_PNG`) | `''` | Absolute path to the watermark PNG file. |
153+
| `SELKIES_WATERMARK_LOCATION` (or `WATERMARK_LOCATION`) | `-1` | Watermark location enum (0-6). |
154+
| `SELKIES_DEBUG` | `False` | Enable debug logging. |
155+
| `SELKIES_ENABLE_SHARING` | `True` | Master toggle for all sharing features. |
156+
| `SELKIES_ENABLE_COLLAB` | `True` | Enable collaborative (read-write) sharing link. |
157+
| `SELKIES_ENABLE_SHARED` | `True` | Enable view-only sharing links. |
158+
| `SELKIES_ENABLE_PLAYER2` | `True` | Enable sharing link for gamepad player 2. |
159+
| `SELKIES_ENABLE_PLAYER3` | `True` | Enable sharing link for gamepad player 3. |
160+
| `SELKIES_ENABLE_PLAYER4` | `True` | Enable sharing link for gamepad player 4. |
161+
58162
## Language Support - Internationalization
59163

60164
The environment variable `LC_ALL` can be used to start this image in a different language than English simply pass for example to launch the Desktop session in French `LC_ALL=fr_FR.UTF-8`.

0 commit comments

Comments
 (0)