Public | Automated Build

Last pushed: a year ago
Short Description
An Alpine X11 server and HTML5 VNC client to bring X11 apps to your browser.
Full Description

Alpine X11 Display Container


This image is intended to be used for displaying X11 applications from other containers in a browser. A stand-alone demo as well as a Version 2 composition. Thanks to Alpine, this image is < 100Mb and eliminates the need to run an X11 server on your host machine.

Image Contents


  • Xvfb - X11 in a virtual framebuffer
  • x11vnc - A VNC server that scrapes the above X11 server
  • noNVC - A HTML5 canvas vnc viewer
  • Fluxbox - a small window manager
  • socat - for use with other containers
  • xterm - to demo that it works
  • supervisord - to keep it all running

    Usage


Stand-alone Demo

On Windows and OS X Only -
Determine the Docker machine IP address:

$ docker-machine ip $(docker-machine active)
192.168.99.101

Run:

$ docker run --rm -it -p 8080:8080 psharkey/novnc

Open a browser and hit the Connect button to see the xterm demo at http://<DOCKER_MACHINE_IP>:8080/vnc.html

V2 Composition

A version of the V2 docker-compose example is shown below to illustrate how this image can be used to greatly simplify the use of X11 applications in other containers. With just docker-compose up -d, your favorite IDE can be accessed via a browser.

Some notable features:

  • An x11 network is defined to link the IDE and novnc containers
  • The IDE DISPLAY environment variable is set using the novnc container name
  • The screen size is adjustable to suit your preferences via environment variables
  • The only exposed port is for HTTP browser connections
version: '2'
services:
  ide:
    image: psharkey/intellij:latest
#    image: psharkey/netbeans-8.1:latest
    environment:
      - DISPLAY=novnc:0.0
    depends_on:
      - novnc
    networks:
      - x11
  novnc:  
    image: psharkey/novnc:latest
    environment:
      # Adjust to your screen size
      - DISPLAY_WIDTH=1600
      - DISPLAY_HEIGHT=968
    ports:
      - "8080:8080"
    networks:
      - x11
networks:
  x11:

If the IDE fails to start simply run docker-compose restart <container-name>.

On DockerHub / GitHub


Thanks


Based on wine-x11-novnc-docker and octave-x11-novnc-docker.

Docker Pull Command
Owner
psharkey
Source Repository