{"id":14978981,"url":"https://github.com/consol/docker-headless-vnc-container","last_synced_at":"2025-05-14T05:10:22.316Z","repository":{"id":37663964,"uuid":"42659274","full_name":"ConSol/docker-headless-vnc-container","owner":"ConSol","description":"Collection of Docker images with headless VNC environments","archived":false,"fork":false,"pushed_at":"2024-10-25T19:21:15.000Z","size":1863,"stargazers_count":1815,"open_issues_count":11,"forks_count":751,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-04-11T00:00:06.458Z","etag":null,"topics":["debian","docker","docker-container","docker-image","dockerfile","headless-vnc-environments","icewm","openshift","rockylinux","vnc","xfce"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ConSol.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-17T13:56:41.000Z","updated_at":"2025-04-10T08:56:36.000Z","dependencies_parsed_at":"2024-07-31T14:07:21.201Z","dependency_job_id":"08b7949b-780b-4e1d-893d-ae3c21b14467","html_url":"https://github.com/ConSol/docker-headless-vnc-container","commit_stats":{"total_commits":214,"total_committers":18,"mean_commits":11.88888888888889,"dds":0.383177570093458,"last_synced_commit":"4a30b26cc46d796db17e6dc962b03a3a05cc1328"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Fdocker-headless-vnc-container","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Fdocker-headless-vnc-container/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Fdocker-headless-vnc-container/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Fdocker-headless-vnc-container/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ConSol","download_url":"https://codeload.github.com/ConSol/docker-headless-vnc-container/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debian","docker","docker-container","docker-image","dockerfile","headless-vnc-environments","icewm","openshift","rockylinux","vnc","xfce"],"created_at":"2024-09-24T13:58:49.839Z","updated_at":"2025-05-14T05:10:22.275Z","avatar_url":"https://github.com/ConSol.png","language":"Shell","readme":"# Docker container images with \"headless\" VNC session\n\nThis repository contains a collection of Docker images with headless VNC environments.\n\nEach Docker image is installed with the following components:\n\n* Desktop environment [**Xfce4**](http://www.xfce.org) or [**IceWM**](http://www.icewm.org/)\n* VNC-Server (default VNC port `5901`)\n* [**noVNC**](https://github.com/novnc/noVNC) - HTML5 VNC client (default http port `6901`)\n* Browsers:\n  * Mozilla Firefox\n  * Chromium\n\n![Docker VNC Desktop access via HTML page](.pics/vnc_container_view.png)\n\n## Build Status\n[![Build Status MASTER](https://github.com/ConSol/docker-headless-vnc-container/actions/workflows/nightly.yml/badge.svg)](https://github.com/ConSol/docker-headless-vnc-container/actions/workflows/nightly.yml)\n\n## Current provided OS \u0026 UI sessions:\n* `consol/rocky-xfce-vnc`: __Rocky 9 with `Xfce4` UI session__\n* `consol/debian-xfce-vnc`: __Debian 11 with `Xfce4` UI session__\n* `consol/rocky-icewm-vnc`: __Rocky 9 with `IceWM` UI session__\n* `consol/debian-icewm-vnc`: __Debian 11 with `IceWM` UI session__\n\n## OpenShift / Kubernetes\n\nIt's also possible to run the images in container orchestration platforms like [Kubernetes](https://kubernetes.io) or [OpenShift](https://openshift.io/). For more information how to deploy containers in the cluster, take a look at:\n\n* [Kubernetes usage of \"headless\" VNC Docker images](./kubernetes/README.md)\n* [OpenShift usage of \"headless\" VNC Docker images](./openshift/README.md)\n\n## Usage\nUsage is **similar** for all provided images, e.g. for `consol/rocky-xfce-vnc`:\n\n- Print out help page:\n\n      docker run consol/rocky-xfce-vnc --help\n\n- Run command with mapping to local port `5901` (vnc protocol) and `6901` (vnc web access):\n\n      docker run -d -p 5901:5901 -p 6901:6901 consol/rocky-xfce-vnc\n\n- Change the default user and group within a container to your own with adding `--user $(id -u):$(id -g)`:\n\n      docker run -d -p 5901:5901 -p 6901:6901 --user $(id -u):$(id -g) consol/rocky-xfce-vnc\n\n- If you want to get into the container use interactive mode `-it` and `bash`\n\n      docker run -it -p 5901:5901 -p 6901:6901 consol/rocky-xfce-vnc bash\n\n- Build an image from scratch:\n\n      docker build -t consol/rocky-xfce-vnc rocky-xfce-vnc\n\n# Connect \u0026 Control\nIf the container is started like mentioned above, connect via one of these options:\n\n* connect via __VNC viewer `localhost:5901`__, default password: `vncpassword`\n* connect via __noVNC HTML5 full client__: [`http://localhost:6901/vnc.html`](http://localhost:6901/vnc.html), default password: `vncpassword`\n* connect via __noVNC HTML5 lite client__: [`http://localhost:6901/?password=vncpassword`](http://localhost:6901/?password=vncpassword)\n\n\n## Hints\n\n### 1) Extend a Image with your own software\nSince version `1.1.0` all images run as non-root user per default, so if you want to extend the image and install software, you have to switch back to the `root` user:\n\n```bash\n## Custom Dockerfile\nFROM consol/rocky-xfce-vnc\nENV REFRESHED_AT 2022-10-12\n\n# Switch to root user to install additional software\nUSER 0\n\n## Install a gedit\nRUN yum install -y gedit \\\n    \u0026\u0026 yum clean all\n\n## switch back to default user\nUSER 1000\n```\n\n### 2) Change User of running VNC Container\n\nPer default, since version `1.3.0` all container processes will be executed with user id `1000`. You can change the user id as follows:\n\n#### 2.1) Using root (user id `0`)\nAdd the `--user` flag to your docker run command:\n\n    docker run -it --user 0 -p 6911:6901 consol/rocky-xfce-vnc\n\n#### 2.2) Using user and group id of host system\nAdd the `--user` flag to your docker run command:\n\n    docker run -it -p 6911:6901 --user $(id -u):$(id -g) consol/rocky-xfce-vnc\n\n### 3) Override VNC environment variables\nThe following VNC environment variables can be overwritten at the `docker run` phase to customize your desktop environment inside the container:\n* `VNC_COL_DEPTH`, default: `24`\n* `VNC_RESOLUTION`, default: `1280x1024`\n* `VNC_PW`, default: `my-pw`\n* `VNC_PASSWORDLESS`, default: `\u003cnot set\u003e`\n\n#### 3.1) Example: Override the VNC password\nSimply overwrite the value of the environment variable `VNC_PW`. For example in\nthe docker run command:\n\n    docker run -it -p 5901:5901 -p 6901:6901 -e VNC_PW=my-pw consol/rocky-xfce-vnc\n\n#### 3.2) Example: Override the VNC resolution\nSimply overwrite the value of the environment variable `VNC_RESOLUTION`. For example in\nthe docker run command:\n\n    docker run -it -p 5901:5901 -p 6901:6901 -e VNC_RESOLUTION=800x600 consol/rocky-xfce-vnc\n\n#### 3.3) Example: Start passwordless\nSet `VNC_PASSWORDLESS` to `true` to disable the VNC password.\nIt is highly recommended that you put some kind of authorization mechanism\nbefore this. For example in the docker run command:\n\n    docker run -it -p 5901:5901 -p 6901:6901 -e VNC_PASSWORDLESS=true consol/rocky-xfce-vnc\n\n### 4) View only VNC\nSince version `1.2.0` it's possible to prevent unwanted control via VNC. Therefore you can set the environment variable `VNC_VIEW_ONLY=true`. If set, the startup script will create a random password for the control connection and use the value of `VNC_PW` for view only connection over the VNC connection.\n\n     docker run -it -p 5901:5901 -p 6901:6901 -e VNC_VIEW_ONLY=true consol/rocky-xfce-vnc\n\n### 5) Known Issues\n\n#### 5.1) Chromium crashes with high VNC_RESOLUTION ([#53](https://github.com/ConSol/docker-headless-vnc-container/issues/53))\nIf you open some graphic/work intensive websites in the Docker container (especially with high resolutions e.g. `1920x1080`) it can happen that Chromium crashes without any specific reason. The problem there is the too small `/dev/shm` size in the container. Currently there is no other way, as define this size on startup via `--shm-size` option, see [#53 - Solution](https://github.com/ConSol/docker-headless-vnc-container/issues/53#issuecomment-347265977):\n\n    docker run --shm-size=256m -it -p 6901:6901 -e VNC_RESOLUTION=1920x1080 consol/rocky-xfce-vnc chromium-browser http://map.norsecorp.com/\n\nThx @raghavkarol for the hint!\n\n## How to release\nSee **[how-to-release.md](./how-to-release.md)**\n\n## Contributors\n\nAt this point we want to thank all contributors, which helped to move this great project by submitting code, writing documentation, or adapting other tools to play well together with the docker headless container.\n\n* [Sven Nierlein](https://github.com/sni)\n* [Tobias Schneck](https://github.com/toschneck)\n* [Robert Bohne](https://github.com/rbo) - IceWM images\n* [hsiaoyi0504](https://github.com/hsiaoyi0504) - PR [#66](https://github.com/ConSol/docker-headless-vnc-container/pull/66)\n* [dmhumph](https://github.com/dmhumph) - PR [#44](https://github.com/ConSol/docker-headless-vnc-container/issue/44)\n* [Simon Hofmann](https://github.com/s1hofmann)\n\n## Changelog\n\nThe current changelog is provided here: **[changelog.md](./changelog.md)**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconsol%2Fdocker-headless-vnc-container","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconsol%2Fdocker-headless-vnc-container","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconsol%2Fdocker-headless-vnc-container/lists"}