Skip to content

Commit 6fb7e55

Browse files
Bot Updating Documentation
1 parent cb237f7 commit 6fb7e55

1 file changed

Lines changed: 48 additions & 39 deletions

File tree

docs/images/docker-dogwalk.md

Lines changed: 48 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,22 @@ We are currently transitioning our desktop containers from X11 to Wayland. While
7676
**Important:** GPU acceleration support for X11 is being deprecated. Future development for hardware acceleration will focus entirely on the Wayland stack.
7777

7878
To enable Wayland mode, set the following environment variable:
79-
* `-e PIXELFLUX_WAYLAND=true`
79+
80+
* `-e PIXELFLUX_WAYLAND=true`
8081

8182
**Why use Wayland?**
82-
* **Zero Copy Encoding:** When configured correctly with a GPU, the frame is rendered and encoded on the video card without ever being copied to the system RAM. This drastically lowers CPU usage and latency.
83-
* **Modern Stack:** Single-application containers utilize **Labwc** (replacing Openbox) and full desktop containers use **KDE Plasma Wayland**, providing a more modern and secure compositing environment while retaining the same user experience.
83+
84+
* **Zero Copy Encoding:** When configured correctly with a GPU, the frame is rendered and encoded on the video card without ever being copied to the system RAM. This drastically lowers CPU usage and latency.
85+
* **Modern Stack:** Single-application containers utilize **Labwc** (replacing Openbox) and full desktop containers use **KDE Plasma Wayland**, providing a more modern and secure compositing environment while retaining the same user experience.
8486

8587
#### GPU Configuration
8688

8789
To use hardware acceleration in Wayland mode, we distinguish between the card used for **Rendering** (3D apps/Desktops) and **Encoding** (Video Stream).
8890

8991
**Configuration Variables:**
90-
* `DRINODE`: The path to the GPU used for **Rendering** (EGL).
91-
* `DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
92+
93+
* `DRINODE`: The path to the GPU used for **Rendering** (EGL).
94+
* `DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
9295

9396
If both variables point to the same device, the container will automatically enable **Zero Copy** encoding, significantly reducing CPU usage and latency.
9497

@@ -111,10 +114,12 @@ For Intel and AMD GPUs.
111114
**Note: Nvidia support is not available for Alpine-based images.**
112115
113116
**Prerequisites:**
114-
1. **Driver:** Proprietary drivers **580 or higher** are required.
115-
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
116-
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
117-
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
117+
118+
1. **Driver:** Proprietary drivers **580 or higher** are required.
119+
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
120+
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
121+
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
122+
118123
```bash
119124
sudo nvidia-ctk runtime configure --runtime=docker
120125
sudo systemctl restart docker
@@ -123,6 +128,7 @@ For Intel and AMD GPUs.
123128
**Compose Configuration:**
124129

125130
```yaml
131+
---
126132
services:
127133
dogwalk:
128134
image: lscr.io/linuxserver/dogwalk:latest
@@ -146,16 +152,15 @@ This container is compatible with [SealSkin](https://sealskin.app).
146152

147153
SealSkin is a self-hosted, client-server platform that provides secure authentication and collaboration features while using a browser extension to intercept user actions such as clicking a link or downloading a file and redirect them to a secure, isolated application environment running on a remote server.
148154

149-
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
150-
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
151-
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
152-
155+
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
156+
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
157+
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
153158

154159
### Options in all Selkies-based GUI containers
155160

156161
This container is based on [Docker Baseimage Selkies](https://github.com/linuxserver/docker-baseimage-selkies).
157162

158-
???+ note "Click to expand: Optional Environment Variables"
163+
??? note "Click to expand: Optional Environment Variables"
159164

160165
| Variable | Description |
161166
| :----: | --- |
@@ -184,15 +189,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
184189
| WATERMARK_LOCATION | Where to paint the image over the stream integer options below |
185190

186191
**`WATERMARK_LOCATION` Options:**
187-
- **1**: Top Left
188-
- **2**: Top Right
189-
- **3**: Bottom Left
190-
- **4**: Bottom Right
191-
- **5**: Centered
192-
- **6**: Animated
192+
193+
* **1**: Top Left
194+
* **2**: Top Right
195+
* **3**: Bottom Left
196+
* **4**: Bottom Right
197+
* **5**: Centered
198+
* **6**: Animated
193199

194200

195-
???+ note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
201+
??? note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
196202

197203
| Argument | Description |
198204
| :----: | --- |
@@ -201,7 +207,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
201207
| `--device /dev/dri:/dev/dri` | Mount a GPU into the container, this can be used in conjunction with the `DRINODE` environment variable to leverage a host video card for GPU accelerated applications. |
202208

203209

204-
???+ note "Click to expand: Legacy X11 Resolution & Acceleration"
210+
??? note "Click to expand: Legacy X11 Resolution & Acceleration"
205211

206212
**Note:** This section applies only if you are **NOT** using `PIXELFLUX_WAYLAND=true`.
207213

@@ -211,7 +217,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
211217

212218
This will set the total virtual framebuffer to 4K. By default, the virtual monitor is 16K. If you have performance issues in an accelerated X11 session, try clamping the resolution to 1080p and work up from there:
213219

214-
```
220+
```bash
215221
-e SELKIES_MANUAL_WIDTH=1920
216222
-e SELKIES_MANUAL_HEIGHT=1080
217223
-e MAX_RESOLUTION=1920x1080
@@ -222,16 +228,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
222228

223229
To launch the desktop session in a different language, set the `LC_ALL` environment variable. For example:
224230

225-
* `-e LC_ALL=zh_CN.UTF-8` - Chinese
226-
* `-e LC_ALL=ja_JP.UTF-8` - Japanese
227-
* `-e LC_ALL=ko_KR.UTF-8` - Korean
228-
* `-e LC_ALL=ar_AE.UTF-8` - Arabic
229-
* `-e LC_ALL=ru_RU.UTF-8` - Russian
230-
* `-e LC_ALL=es_MX.UTF-8` - Spanish (Latin America)
231-
* `-e LC_ALL=de_DE.UTF-8` - German
232-
* `-e LC_ALL=fr_FR.UTF-8` - French
233-
* `-e LC_ALL=nl_NL.UTF-8` - Netherlands
234-
* `-e LC_ALL=it_IT.UTF-8` - Italian
231+
* `-e LC_ALL=zh_CN.UTF-8` - Chinese
232+
* `-e LC_ALL=ja_JP.UTF-8` - Japanese
233+
* `-e LC_ALL=ko_KR.UTF-8` - Korean
234+
* `-e LC_ALL=ar_AE.UTF-8` - Arabic
235+
* `-e LC_ALL=ru_RU.UTF-8` - Russian
236+
* `-e LC_ALL=es_MX.UTF-8` - Spanish (Latin America)
237+
* `-e LC_ALL=de_DE.UTF-8` - German
238+
* `-e LC_ALL=fr_FR.UTF-8` - French
239+
* `-e LC_ALL=nl_NL.UTF-8` - Netherlands
240+
* `-e LC_ALL=it_IT.UTF-8` - Italian
235241

236242
### Application Management
237243

@@ -243,7 +249,7 @@ Natively installed packages (e.g., via `apt-get install`) will not persist if th
243249

244250
To install an application, use the command line inside the container:
245251

246-
```
252+
```bash
247253
proot-apps install filezilla
248254
```
249255

@@ -261,7 +267,7 @@ You can install packages from the system's native repository using the [universa
261267

262268
### Advanced Configuration
263269

264-
???+ note "Click to expand: Hardening Options"
270+
??? note "Click to expand: Hardening Options"
265271

266272
These variables can be used to lock down the desktop environment for single-application use cases or to restrict user capabilities.
267273

@@ -283,21 +289,24 @@ You can install packages from the system's native repository using the [universa
283289
| **`RESTART_APP`** | If true, enables a watchdog service that automatically restarts the main application if it is closed. The user's autostart script is made read-only and root owned to prevent tampering. |
284290

285291

286-
???+ note "Click to expand: Selkies Application Settings"
292+
??? note "Click to expand: Selkies Application Settings"
287293

288294
Using environment variables every facet of the application can be configured.
289295

290296
**Booleans and Locking:**
291297
Boolean settings accept `true` or `false`. You can also prevent the user from changing a boolean setting in the UI by appending `|locked`.
292-
* Example: `-e SELKIES_USE_CPU="true|locked"`
298+
299+
* Example: `-e SELKIES_USE_CPU="true|locked"`
293300

294301
**Enums and Lists:**
295302
These settings accept a comma-separated list of values. The first item becomes default. If only one item is provided, the UI dropdown is hidden.
296-
* Example: `-e SELKIES_ENCODER="jpeg"`
303+
304+
* Example: `-e SELKIES_ENCODER="jpeg"`
297305

298306
**Ranges:**
299307
Use a hyphen-separated `min-max` format for a slider, or a single number to lock the value.
300-
* Example: `-e SELKIES_FRAMERATE="60"`
308+
309+
* Example: `-e SELKIES_FRAMERATE="60"`
301310

302311
**Manual Resolution Mode:**
303312
If `SELKIES_MANUAL_WIDTH` or `SELKIES_MANUAL_HEIGHT` are set, the resolution is locked to those values.

0 commit comments

Comments
 (0)