mirror of
https://github.com/linuxserver/docker-webtop.git
synced 2026-02-19 16:13:42 +08:00
devcontainer-ubuntu-kde-selkies-for-mac
Containerized Ubuntu KDE desktop with Selkies, derived from linuxserver/webtop, tuned for macOS usage with the following advantages:
- Works on macOS for both Apple Silicon (arm64) and amd64 via buildx/platform selection.
- Runs the desktop as your host user (UID/GID/username), not root.
- Propagates the host hostname as
Docker-<host>and uses it in the shell prompt. - Mounts the host
$HOMEto/home/<user>/host_home(usable if host permissions allow). - Split base/user images; supports platform selection (amd64/arm64) and
--no-cachebuilds. - External SSL cert directory can be mounted for WSS.
- Creates virtual PulseAudio sinks automatically for audio forwarding (used by selkies).
Quick Start
- Build the base image
./build-base-image.sh --no-cache(optionally-a amd64|arm64,-p linux/amd64|linux/arm64) - Build the user image (prompts for your user password)
./build-user-image.sh --no-cache - Start the container
./start-container.sh- Change resolution/DPI:
./start-container.sh -r 1920x1080 -d 144 - Use external SSL certs:
./start-container.sh -s /path/to/ssl(expectscert.pemandcert.key)
- Change resolution/DPI:
- Enter the container shell (starts in your home)
./shell-container.sh - Stop/remove
./stop-container.sh(-rto remove)
Scripts
build-base-image.sh
Builds the base image. Supports-a/--arch,-p/--platform,--no-cache. Tags:webtop-kde:base-<arch>-latest.build-user-image.sh
Builds the user image with host UID/GID/username/password. Supports--no-cache. Tags:<image-base>-<user>:latest.start-container.sh
Starts a container from the user image. Options:-rresolution,-dDPI,-pplatform,-sSSL dir. Mounts host$HOMEto/home/<user>/host_home.stop-container.sh
Stops the container;-r/--rmalso removes it.shell-container.sh
Exec into the running container as the host user (cwd =/home/<user>).commit-container.sh
Commit the running container to a new image.
Notes
- If your host
$HOMEhas restrictive permissions (e.g., 750), non-root in the container may not access/home/<user>/host_home. Adjust host permissions/ACLs or mount a more permissive directory. - Audio:
svc-selkiesloads two virtual PulseAudio sinks (output,input) for streaming. Check withpactl list short sinks.
Languages
Shell
58.9%
Dockerfile
41.1%