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:
- macOS-ready for both Apple Silicon (arm64) and amd64; images are tagged with the arch (e.g.,
-arm64-latest,-amd64-latest) andstart-container.shauto-picks the tag from--platformor host arch. - Runs the desktop as your host user (UID/GID/username), not root; hostname is
Docker-<host>and appears in PS1. - Host
$HOMEis mounted to/home/<user>/host_home(requires permissive host permissions). - Split base/user images; supports platform selection (amd64/arm64) and
--no-cachebuilds. - Optional Japanese locale/input (
-l jawhen building user image). - External SSL cert dir can be mounted for WSS.
- Virtual PulseAudio sinks auto-created for streaming (selkies).
Quick Start
- Build the base image
./build-base-image.sh --no-cache(optional:-a amd64|arm64,-p linux/amd64|linux/arm64) - Build the user image (prompts for your user password)
./build-user-image.sh --no-cache [-l en|ja]
Tags created:webtop-kde-<user>:<arch>-latestand...:<arch> - Start the container
./start-container.sh(auto-uses-<arch>-latestbased on host or-p)- Resolution/DPI:
./start-container.sh -r 1920x1080 -d 144 - External SSL certs:
./start-container.sh -s /path/to/ssl(expectscert.pemandcert.key) - Ports: HTTPS on
UID+10000 -> 3001, HTTP onUID+20000 -> 3000(override viaPORT_SSL_OVERRIDE/PORT_HTTP_OVERRIDE)
- 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,-l/--language en|ja. Tags:<image-base>-<user>:<arch>-latestand<arch>.start-container.sh
Starts a container from the user image. Options:-rresolution,-dDPI,-pplatform,-sSSL dir. Auto-selects-<arch>-latesttag from host or-punless-toverrides. Mounts host$HOMEto/home/<user>/host_home. Ports: HTTPSUID+10000→3001, HTTPUID+20000→3000 (override withPORT_SSL_OVERRIDE/PORT_HTTP_OVERRIDE).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
Commits the running container to an arch-suffixed user image (matches current container arch).
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%