/headless-coding-g3

Headless Ubuntu/Xfce containers with VNC/noVNC for programming (Generation 3)

Primary LanguageDockerfileMIT LicenseMIT

Headless Ubuntu/Xfce containers with VNC/noVNC for programming

Project accetto/headless-coding-g3


Docker Hub - Changelog - Wiki - Discussions

badge-github-release badge-github-release-date badge-github-stars badge-github-forks badge-github-open-issues badge-github-closed-issues badge-github-releases badge-github-commits badge-github-last-commit

This repository contains resources for building Docker images based on Ubuntu 20.04 LTS with Xfce desktop environment and VNC/noVNC servers for headless use and selected applications for programming. Adding more tools requires usually only a single or just a few commands. The instructions are in the provided README files and some simple test applications are also already included.

All images can optionally include also the web browsers Chromium or Firefox.

The resources for the individual images and their variations (tags) are stored in the subfolders of the master branch. Each image has its own README file describing its features and usage.

This is a sibling project to the project accetto/ubuntu-vnc-xfce-g3, which contains the detailed description of the third generation (G3) of my Docker images. Please check the sibling project README and the sibling Wiki for common information.

TL;DR

I try to keep the images slim. Consequently you can encounter missing dependencies while adding more applications yourself. You can track the missing libraries on the Ubuntu Packages Search page and install them subsequently.

You can also try to fix it by executing the following (the default sudo password is headless):

### apt cache needs to be updated only once
sudo apt-get update

sudo apt --fix-broken install

There are currently resources for the following Docker images:

The fastest way to build the images locally:

### PWD = project root
./docker/hooks/build dev nodejs
./docker/hooks/build dev nodejs-chromium
./docker/hooks/build dev nodejs-vscode
./docker/hooks/build dev nodejs-vscode-chromium
./docker/hooks/build dev nodejs-vscode-firefox
./docker/hooks/build dev nodejs-current
./docker/hooks/build dev nodejs-vnc
./docker/hooks/build dev nodejs-vnc-chromium
./docker/hooks/build dev nodejs-vnc-vscode
./docker/hooks/build dev nodejs-vnc-vscode-chromium
./docker/hooks/build dev nodejs-vnc-vscode-firefox
./docker/hooks/build dev nodejs-vnc-current
./docker/hooks/build dev nodejs-vnc-chromium-current
./docker/hooks/build dev nodejs-vnc-vscode-chromium-current
./docker/hooks/build dev nodejs-vnc-vscode-firefox-current

./docker/hooks/build dev postman
./docker/hooks/build dev postman-chromium
./docker/hooks/build dev postman-firefox
./docker/hooks/build dev postman-vnc
./docker/hooks/build dev postman-vnc-chromium
./docker/hooks/build dev postman-vnc-firefox

./docker/hooks/build dev python
./docker/hooks/build dev python-chromium
./docker/hooks/build dev python-vscode
./docker/hooks/build dev python-vscode-chromium
./docker/hooks/build dev python-vscode-firefox
./docker/hooks/build dev python-vnc
./docker/hooks/build dev python-vnc-chromium
./docker/hooks/build dev python-vnc-vscode
./docker/hooks/build dev python-vnc-vscode-chromium
./docker/hooks/build dev python-vnc-vscode-firefox

### from the branch 'bonus-images-python-gui-frameworks'
./docker/hooks/build dev python-vnc-tkinter
./docker/hooks/build dev python-vnc-wxpython
./docker/hooks/build dev python-vnc-pyqt5
./docker/hooks/build dev python-vnc-pyside2
./docker/hooks/build dev python-vnc-pyside6
./docker/hooks/build dev python-vnc-kivy
./docker/hooks/build dev python-vnc-tkinter-vscode
./docker/hooks/build dev python-vnc-tkinter-vscode-chromium
./docker/hooks/build dev python-vnc-novnc-tkinter

You can also use the provided helper script builder.sh, which can also publish the images on Docker Hub, if you correctly set the required environment variables (see the file example-secrets.rc). Check the files local-builder-readme.md and local-building-example.md.

Find more in the hook script env.rc and in the sibling Wiki.

Implicit base images

This project contains also resources for building the base images without the applications for programming. Because those images would be actually equivalent to the images from the sibling project, they will not be built or published on Docker Hub. However, you can build them yourself locally any time you wish.

The source repository contains also the branch bonus-images-python-gui-frameworks, which allows building images already including the most popular Python GUI frameworks. Those images could be occasionally pushed to Docker Hub, but there will be no effort to do it regularly. However, you can built them locally any time.

Issues, Wiki and Discussions

If you have found a problem or you just have a question, please check the Issues, the sibling Issues and the sibling Wiki first. Please do not overlook the closed issues.

If you do not find a solution, you can file a new issue. The better you describe the problem, the bigger the chance it'll be solved soon.

If you have a question or an idea and you don't want to open an issue, you can use the sibling Discussions.

Credits

Credit goes to all the countless people and companies, who contribute to open source community and make so many dreamy things real.