Giter Site home page Giter Site logo

d-w-moore2 / x11server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from suchja/x11server

0.0 1.0 0.0 22 KB

Docker image hosting X- and VNC-Server as a kind of micro service.

License: Creative Commons Zero v1.0 Universal

Dockerfile 52.03% Shell 47.97%

x11server's Introduction

About

Docker Image for creating a service container providing an framebuffered X11-Server (xvfb) in conjunction with a VNC-Server (x11vnc). It allows to get the display of an application running inside a docker container to the host or any other machine accessing the VNC-Server.

It is intended to be used in conjunction with at least one other container hosting the application requiring an X-Server (aka X-Client). This differentiates it from other solutions running the X-Server, the VNC-Server and the X-Client in the same container.

A base image for creating a container with an application using this X11 server container can be found here.

My intention for this image was to have a clear separation of concerns. This image is responsible for all the X-Server stuff. Another image can fully concentrate on the application and is simply linked to a container of this image.

More details can be found here.

Usage

Running a container based on this image is quite easy. It is intended to be run as daemon. So you can run via:

docker run -d --name display -e VNC_PASSWORD=newPW -e XFB_SCREEN=1280x800x24 -e XFB_SCREEN_DPI=150 -p 5900:5900 suchja/x11server

You should give it a name (here display), because a container running the client should be linked with this container. Forwarding the port 5900 allows you to access the VNC server from within your network.

Environment Variables

When you start the x11server image, you should adjust at least some of its configuration.

Hint: In case you don't like to type the environment variables on the command prompt, docker run can also read it from a config file (see here). Especially for passwords (see below) this this should be done to prevent any issues with your shell history (see here).

VNC_PASSWORD

This variable is mandatory and specifies the password you need to enter into your VNC-client when connecting to the VNC-Server running in a container from this image.

XFB_SCREEN

Specifies screen width, height, and depth (WxHxD). By default, screen has the dimensions 1024x768x24.

XFB_SCREEN_DPI

Specifies DPI for the display (Dots Per Inch). If not specified, uses the default DPI (100).

docker-compose

You can use docker-compose to avoid typing or copy-and-pasting all the stuff again and again on the command line. Here an excerpt from a docker-compose.yml file starting a container from this image:

xserver:
	image: suchja/x11server
	ports:
		- 5900:5900
	environment:
		VNC_PASSWORD: yourPW
		XFB_SCREEN: 1280x800x24
                XFB_SCREEN_DPI: 150

Save this inside docker-compose.yml, add a proper password and call docker-compose up. Now you will have a running X11 server waiting for X11 clients and VNC clients to connect.

Maintenance

The image is build on Docker hub with Automated builds. There is no dedicated maintenance schedule for this image. It is relying on packages from debian:jessie and thus I do not assume to update it frequently.

In case you have any issues, you are invited to create a pull request or an issue on the related github repository.

Copyright free

The sources in this Github repository, from which the docker image is build, are copyright free (see LICENSE.md). Thus you are allowed to use these sources (e.g. Dockerfile and README.md) in which ever way you like.

x11server's People

Contributors

suchja avatar norbjd avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.