{"id":13455402,"url":"https://github.com/fcwu/docker-ubuntu-vnc-desktop","last_synced_at":"2025-05-14T14:09:08.666Z","repository":{"id":14268562,"uuid":"16976402","full_name":"fcwu/docker-ubuntu-vnc-desktop","owner":"fcwu","description":"A Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.","archived":false,"fork":false,"pushed_at":"2023-09-03T12:33:56.000Z","size":13059,"stargazers_count":4086,"open_issues_count":85,"forks_count":1456,"subscribers_count":112,"default_branch":"develop","last_synced_at":"2025-04-11T06:14:52.303Z","etag":null,"topics":["docker-image","ubuntu-desktop","vnc"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/fcwu.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2014-02-19T07:01:08.000Z","updated_at":"2025-04-11T04:59:47.000Z","dependencies_parsed_at":"2023-02-15T04:30:58.048Z","dependency_job_id":"2d1e8e95-966b-4a31-b7e5-d2db85da638e","html_url":"https://github.com/fcwu/docker-ubuntu-vnc-desktop","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcwu%2Fdocker-ubuntu-vnc-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcwu%2Fdocker-ubuntu-vnc-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcwu%2Fdocker-ubuntu-vnc-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcwu%2Fdocker-ubuntu-vnc-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fcwu","download_url":"https://codeload.github.com/fcwu/docker-ubuntu-vnc-desktop/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160205,"owners_count":22024567,"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":["docker-image","ubuntu-desktop","vnc"],"created_at":"2024-07-31T08:01:04.978Z","updated_at":"2025-05-14T14:09:03.657Z","avatar_url":"https://github.com/fcwu.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# docker-ubuntu-vnc-desktop\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/dorowu/ubuntu-desktop-lxde-vnc.svg)](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/)\n[![Docker Stars](https://img.shields.io/docker/stars/dorowu/ubuntu-desktop-lxde-vnc.svg)](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/)\n\ndocker-ubuntu-vnc-desktop is a Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.\n\n\u003c!-- @import \"[TOC]\" {cmd=\"toc\" depthFrom=2 depthTo=2 orderedList=false} --\u003e\n\n\u003c!-- code_chunk_output --\u003e\n\n- [Quick Start](#quick-start)\n- [VNC Viewer](#vnc-viewer)\n- [HTTP Base Authentication](#http-base-authentication)\n- [SSL](#ssl)\n- [Screen Resolution](#screen-resolution)\n- [Default Desktop User](#default-desktop-user)\n- [Deploy to a subdirectory (relative url root)](#deploy-to-a-subdirectory-relative-url-root)\n- [Sound (Preview version and Linux only)](#sound-preview-version-and-linux-only)\n- [Generate Dockerfile from jinja template](#generate-dockerfile-from-jinja-template)\n- [Troubleshooting and FAQ](#troubleshooting-and-faq)\n- [License](#license)\n\n\u003c!-- /code_chunk_output --\u003e\n\n## Quick Start\n\nRun the docker container and access with port `6080`\n\n```shell\ndocker run -p 6080:80 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc\n```\n\nBrowse http://127.0.0.1:6080/\n\n\u003cimg src=\"https://raw.github.com/fcwu/docker-ubuntu-vnc-desktop/master/screenshots/lxde.png?v1\" width=700/\u003e\n\n### Ubuntu Flavors\n\nChoose your favorite Ubuntu version with [tags](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/tags/)\n\n- focal: Ubuntu 20.04 (latest)\n- focal-lxqt: Ubuntu 20.04 LXQt\n- bionic: Ubuntu 18.04\n- bionic-lxqt: Ubuntu 18.04 LXQt\n- xenial: Ubuntu 16.04 (deprecated)\n- trusty: Ubuntu 14.04 (deprecated)\n\n## VNC Viewer\n\nForward VNC service port 5900 to host by\n\n```shell\ndocker run -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc\n```\n\nNow, open the vnc viewer and connect to port 5900. If you would like to protect vnc service by password, set environment variable `VNC_PASSWORD`, for example\n\n```shell\ndocker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc\n```\n\nA prompt will ask password either in the browser or vnc viewer.\n\n## HTTP Base Authentication\n\nThis image provides base access authentication of HTTP via `HTTP_PASSWORD`\n\n```shell\ndocker run -p 6080:80 -e HTTP_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc\n```\n\n## SSL\n\nTo connect with SSL, generate self signed SSL certificate first if you don't have it\n\n```shell\nmkdir -p ssl\nopenssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl/nginx.key -out ssl/nginx.crt\n```\n\nSpecify SSL port by `SSL_PORT`, certificate path to `/etc/nginx/ssl`, and forward it to 6081\n\n```shell\ndocker run -p 6081:443 -e SSL_PORT=443 -v ${PWD}/ssl:/etc/nginx/ssl -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc\n```\n\n## Screen Resolution\n\nThe Resolution of virtual desktop adapts browser window size when first connecting the server. You may choose a fixed resolution by passing `RESOLUTION` environment variable, for example\n\n```shell\ndocker run -p 6080:80 -e RESOLUTION=1920x1080 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc\n```\n\n## Default Desktop User\n\nThe default user is `root`. You may change the user and password respectively by `USER` and `PASSWORD` environment variable, for example,\n\n```shell\ndocker run -p 6080:80 -e USER=doro -e PASSWORD=password -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc\n```\n\n## Deploy to a subdirectory (relative url root)\n\nYou may deploy this application to a subdirectory, for example `/some-prefix/`. You then can access application by `http://127.0.0.1:6080/some-prefix/`. This can be specified using the `RELATIVE_URL_ROOT` configuration option like this\n\n```shell\ndocker run -p 6080:80 -e RELATIVE_URL_ROOT=some-prefix dorowu/ubuntu-desktop-lxde-vnc\n```\n\nNOTE: this variable should not have any leading and trailing splash (/)\n\n## Sound (Preview version and Linux only)\n\nIt only works in Linux. \n\nFirst of all, insert kernel module `snd-aloop` and specify `2` as the index of sound loop device\n\n```shell\nsudo modprobe snd-aloop index=2\n```\n\nStart the container\n\n```shell\ndocker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desktop-lxde-vnc\n```\n\nwhere `--device /dev/snd -e ALSADEV=hw:2,0` means to grant sound device to container and set basic ASLA config to use card 2.\n\nLaunch a browser with URL http://127.0.0.1:6080/#/?video, where `video` means to start with video mode. Now you can start Chromium in start menu (Internet -\u003e Chromium Web Browser Sound) and try to play some video.\n\nFollowing is the screen capture of these operations. Turn on your sound at the end of video!\n\n[![demo video](http://img.youtube.com/vi/Kv9FGClP1-k/0.jpg)](http://www.youtube.com/watch?v=Kv9FGClP1-k)\n\n\n## Generate Dockerfile from jinja template\n\nWARNING: Deprecated\n\nDockerfile and configuration can be generated by template. \n\n- arch: one of `amd64` or `armhf`\n- flavor: refer to file in flavor/`flavor`.yml\n- image: base image\n- desktop: desktop environment which is set in flavor\n- addon_package: Debian package to be installed which is set in flavor\n\nDockerfile and configuration are re-generate if they do not exist. Or you may force to re-generate by removing them with the command `make clean`.\n\n## Troubleshooting and FAQ\n\n1. boot2docker connection issue, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/2\n2. Multi-language supports, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/80\n3. Autostart, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/85#issuecomment-466778407\n4. x11vnc arguments(multiptr), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/101\n5. firefox/chrome crash (/dev/shm), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/112\n6. resize display size without destroying container, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/115#issuecomment-522426037\n\n## License\n\nSee the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffcwu%2Fdocker-ubuntu-vnc-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffcwu%2Fdocker-ubuntu-vnc-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffcwu%2Fdocker-ubuntu-vnc-desktop/lists"}