# fcwu/docker-ubuntu-vnc-desktop

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/fcwu-docker-ubuntu-vnc-desktop).**

4,212 stars · 1,471 forks · HTML · Apache-2.0

## Links

- GitHub: https://github.com/fcwu/docker-ubuntu-vnc-desktop
- awesome-repositories: https://awesome-repositories.com/repository/fcwu-docker-ubuntu-vnc-desktop.md

## Topics

`docker-image` `ubuntu-desktop` `vnc`

## Description

This project provides a containerized Ubuntu desktop environment with a graphical user interface accessible via a web browser. It implements a Docker-based image that integrates a web gateway and a browser-based client to stream a Linux workstation over HTTP and HTTPS.

The system is distinguished by its ability to route audio from the container to the host system for playback and its support for SSL/TLS encryption to secure the remote desktop connection. It also includes configurations for hosting the interface behind a reverse proxy using relative URL path mapping.

The project covers display management for resolution scaling, password-based access control for user accounts, and template-driven builds for defining desktop environments and base images.

## Tags

### Part of an Awesome List

- [Browser-Based Remote Desktops](https://awesome-repositories.com/f/awesome-lists/devops/remote-desktop/browser-based-remote-desktops.md) — Provides a full Ubuntu desktop environment accessible entirely through a web browser.

### Networking & Communication

- [Browser-Based VNC Streaming](https://awesome-repositories.com/f/networking-communication/remote-desktop-streaming/browser-based-vnc-streaming.md) — Provides a full Ubuntu desktop environment accessible through a web browser using a VNC-to-WebSocket gateway. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/develop/Dockerfile.arm64))

### DevOps & Infrastructure

- [Remote Linux Workstations](https://awesome-repositories.com/f/devops-infrastructure/remote-linux-workstations.md) — Provides a secure, password-protected Ubuntu environment accessible from any device via HTTP or HTTPS.
- [Config-Driven Image Building](https://awesome-repositories.com/f/devops-infrastructure/config-driven-image-building.md) — Employs config-driven image building to parameterize desktop environments and base OS versions.

### Graphics & Multimedia

- [Virtual](https://awesome-repositories.com/f/graphics-multimedia/graphics-rendering-engines/framebuffer-renderers/virtual.md) — Renders a virtual desktop into a memory-backed buffer via Xvnc for remote access without a physical monitor.
- [Container-to-Host Audio Redirectors](https://awesome-repositories.com/f/graphics-multimedia/container-to-host-audio-redirectors.md) — Routes sound from the Docker container to the host system for real-time audio playback. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop#readme))
- [Host-to-Container Audio Passthroughs](https://awesome-repositories.com/f/graphics-multimedia/host-to-container-audio-passthroughs.md) — Passes sound device access from the host system into the container to permit audio playback. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/develop/README.md))
- [Remote Desktop Audio Redirectors](https://awesome-repositories.com/f/graphics-multimedia/multi-source-audio-playback/remote-audio-streaming/remote-desktop-audio-redirectors.md) — Implements remote desktop audio redirection to stream sound from the container to the client.

### Operating Systems & Systems Programming

- [Containerized Linux Environments](https://awesome-repositories.com/f/operating-systems-systems-programming/containerized-linux-environments.md) — Provides a containerized Linux distribution equipped with a graphical user interface.
- [Containerized Ubuntu Desktops](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-automation/ubuntu-desktop-provisionings/containerized-ubuntu-desktops.md) — Provides a containerized Ubuntu environment delivering a full desktop experience via a web browser.
- [Dockerized Desktop Environments](https://awesome-repositories.com/f/operating-systems-systems-programming/dockerized-desktop-environments.md) — Runs a complete Linux graphical user interface inside a container for isolated hosting.
- [Desktop Environment Configurations](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-configurations.md) — Provides desktop environment configurations to define the system architecture and desktop flavor. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/develop/Makefile))
- [Dynamic Resolution Scaling](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-platforms/virtualized-desktop-environments/dynamic-resolution-scaling.md) — Allows configuring the virtual desktop to a fixed resolution or automatically adapting to the browser window. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop#readme))

### Security & Cryptography

- [VNC Web Gateways](https://awesome-repositories.com/f/security-cryptography/web-application-security/secure-web-gateways/vnc-web-gateways.md) — Implements a web server that proxies VNC traffic over HTTP and HTTPS for browser access.
- [Password Access Restrictions](https://awesome-repositories.com/f/security-cryptography/domain-access-restrictions/request-access-restrictions/password-access-restrictions.md) — Restricts unauthorized access to the remote desktop network interfaces through password authentication. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop#readme))
- [Security & HTTPS](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/web-network-security/security-https.md) — Implements SSL/TLS certificate management to enable secure, encrypted HTTPS connections for the remote desktop interface. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/develop/Makefile))
- [SSL-Enabled Socket Wrappers](https://awesome-repositories.com/f/security-cryptography/security/cryptography-and-secrets/cryptographic-primitives-management/tls-ssl-configurations/ssl-enabled-socket-wrappers.md) — Uses SSL-enabled socket wrappers to encrypt the VNC stream over the network.
- [SSL/TLS Connection Security](https://awesome-repositories.com/f/security-cryptography/ssl-tls-connection-security.md) — Secures the data stream between the browser client and the VNC server using an encrypted SSL/TLS transport layer. ([source](https://github.com/fcwu/docker-ubuntu-vnc-desktop#readme))

### System Administration & Monitoring

- [VNC Interfaces](https://awesome-repositories.com/f/system-administration-monitoring/browser-based-remote-desktop-clients/vnc-interfaces.md) — Integrates VNC interfaces to stream a virtual desktop to a web browser.
- [Audio Loopback Drivers](https://awesome-repositories.com/f/system-administration-monitoring/virtual-device-drivers/audio-loopback-drivers.md) — Implements virtual audio loopback drivers to route sound from the container to the host system.

### User Interface & Experience

- [VNC-to-WebSocket Translators](https://awesome-repositories.com/f/user-interface-experience/web-based-rendering-engines/vnc-to-websocket-translators.md) — Translates VNC protocol streams into WebSocket messages to enable desktop rendering in a web browser.
