Desktop Environment on a Linux Server from Your Browser

15 March 2026

I needed a desktop environment to use a certain application on my small Linux VPS. X11 forwarding over SSH was the first thing that came to mind, but I decided to see what else was out there. I’m glad I did, as it led me to the Webtop project.

The Webtop project offers full desktop environments (based on Alpine, Ubuntu, Fedora, and Arch) that you can access right from your web browser. With a simple Docker container, we can launch a Desktop environment with VNC on our server. And even better, we can pair it with Tailscale so that nothing is exposed to the public internet.

Here is an example docker-compose.yml file with Debian and XFCE which I run on Raspberry Pi at home. I prefer to explicitly define the IP and Port binds, especially when running on a publicly available server. Note the local and Tailscale IPs in this case.

---
services:
  webtop:
    image: lscr.io/linuxserver/webtop:debian-xfce
    container_name: webtop
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
      - SUBFOLDER=/
      - TITLE=Webtop
      - SELKIES_MANUAL_WIDTH=1920
      - SELKIES_MANUAL_HEIGHT=1080
      - MAX_RESOLUTION=1920x1080
    volumes:
      - ./webtop_data:/config
    ports:
      - 192.168.X.X:3000:3000
      - 192.168.X.X:3001:3001
      - 100.X.X.X:3000:3000
      - 100.X.X.X:3001:3001
    shm_size: "1gb"
    restart: unless-stopped

Lastly, pointing your browser to the appropriate IP or host on port 3001 will drop you inside the desktop environment. Enjoy!


comments powered by Disqus