# docker-headless **Repository Path**: infrastlabs/docker-headless ## Basic Information - **Project Name**: docker-headless - **Description**: Linux下私人桌面,生产跑浏览器(调测),服务器搭建开发环境 云端办公! - **Primary Language**: Docker - **License**: Apache-2.0 - **Default Branch**: dev - **Homepage**: https://github.com/infrastlabs/docker-headless - **GVP Project**: No ## Statistics - **Stars**: 19 - **Forks**: 13 - **Created**: 2021-07-13 - **Last Updated**: 2025-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: Docker, wps, Linux, DevTool, desktop ## README # docker-headless Multi-Desktop with `XRDP/NOVNC/PulseAudio` based on `Ubuntu20.04`, Formatting a HeadlessBox/Cloud Desktop. [[Detail]](./Detail.md) [![Docker Image Size](https://img.shields.io/docker/image-size/infrastlabs/docker-headless/latest)](https://hub.docker.com/r/infrastlabs/docker-headless/tags) [![Docker Pulls](https://img.shields.io/docker/pulls/infrastlabs/docker-headless.svg)](https://hub.docker.com/r/infrastlabs/docker-headless) [![Last commit](https://img.shields.io/github/last-commit/infrastlabs/docker-headless.svg)](https://www.github.com/infrastlabs/docker-headless) [![GitHub issues](https://img.shields.io/github/issues/infrastlabs/docker-headless.svg)](https://www.github.com/infrastlabs/docker-headless/issues) ## step1: QuickStart `docker run -it --rm --shm-size 1g --net=host infrastlabs/docker-headless:latest` -- | Conn | PASS | ReadOnly --- | --- | --- | --- noVnc | https://192.168.0.x:10081 | `headless` | `View123` RDP | 192.168.0.x:10089 | `headless` | - SSH | ssh -p 10022 headless@192.168.0.x | `headless` | - ![](https://gitee.com/infrastlabs/docker-headless/raw/dev/_doc/res/01rdp-double-screen.png) ## step2: Design - Screen shared with both RDP/noVnc. (ReadWrite/ReadOnly) - Multi Desktop: Xfce, Mate, Cinnamon, Gnome, Plasma - Slim Image: `core: 170.53 MB`, `latest: 277.48 MB`, `sogou: 354.15 MB` - Feats - MultiScreen support. (mstsc+xrdp+tigervnc) - Audio support. (xrdp+pulseaudio/noVNC+broadcast) - Locale/TZ support. Apps `ibus-rime/fcitx-sogou`, `flameshot`, `PAC`. ![](https://gitee.com/infrastlabs/docker-headless/raw/dev/_doc/res/design/RDesktop.png) ## step3: UseCase Quick start with Locale: `docker run -it --rm --shm-size 1g -e VNC_OFFSET=20 -e L=zh_CN --net=host infrastlabs/docker-headless:latest`, Prefer [docker-compose.yml](./docker-compose.yml) **(1)Development** (java, golang, nodejs) ```bash # JAVA sudo apt -y install openjdk-8-jdk openjdk-8-source && sudo apt -y install maven # GO goVer=go1.17.8 #go1.16.15 #go1.13.15 wget https://studygolang.com/dl/golang/$goVer.linux-amd64.tar.gz tar -zxf $goVer.linux-amd64.tar.gz; mv go $goVer.linux-amd64 rm -f godev; ln -s $goVer.linux-amd64 godev #link godev # NODE wget https://npm.taobao.org/mirrors/node/v14.20.0/node-v14.20.0-linux-x64.tar.xz xz -d node-v14.20.0-linux-x64.tar.xz #tar.xz消失 tar -xvf node-v14.20.0-linux-x64.tar # cat >> /etc/profile <