webtop
1.0.0
Linux containers with full desktop environments accessible trough a web browser.
You can choose from these distros and desktops.
| Distro | Flavour |
|---|---|
| Ubuntu | |
| Fedora |
To setup the container, you can use the docker cli, or docker compose. Don't forget to change the image tag to your desired desktop variant!
---
services:
webtop:
image: ghcr.io/tibor309/webtop:kubuntu
container_name: webtop
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- SUBFOLDER=/ #optional
- TITLE=Webtop #optional
volumes:
- /path/to/data:/config
- /var/run/docker.sock:/var/run/docker.sock #optional
ports:
- 3000:3000
- 3001:3001
devices:
- /dev/dri:/dev/dri #optional
shm_size: "1gb" #optional
restart: unless-stoppeddocker run -d
--name=webtop
--security-opt seccomp=unconfined `#optional`
-e PUID=1000
-e PGID=1000
-e TZ=Etc/UTC
-e SUBFOLDER=/ `#optional`
-e TITLE=Webtop `#optional`
-p 3000:3000
-p 3001:3001
-v /path/to/data:/config
-v /var/run/docker.sock:/var/run/docker.sock `#optional`
--device /dev/dri:/dev/dri `#optional`
--shm-size="1gb" `#optional`
--restart unless-stopped
ghcr.io/tibor309/webtop:kubuntuThis container is based on the linuxserver.io kasmvnc base image, so you can use their mods and additional configs if you want.
| Parameter | Function |
|---|---|
-p 3000 |
Web Desktop GUI |
-p 3001 |
Web Desktop GUI HTTPS |
-e PUID=1000 |
For UserID |
-e PGID=1000 |
For GroupID |
-e TZ=Etc/UTC |
Specify a timezone to use, see this list. |
-e SUBFOLDER=/ |
Specify a subfolder to use with reverse proxies, IE /subfolder/ |
-e TITLE=Webtop |
String which will be used as page/tab title in the web browser. |
-v /config |
abc user's home directory, stores local files and settings |
-v /var/run/docker.sock |
Docker Socket on the system, if you want to use Docker in the container |
--device /dev/dri |
Add this for GL support (Linux hosts only) |
--shm-size= |
We set this to 1 gig to prevent modern web browsers from crashing |
--security-opt seccomp=unconfined |
For Docker Engine only, many modern gui apps need this to function on older hosts as syscalls are unknown to Docker. |
To access the container, navigate to the ip address for your machine with the port you provided at the setup.