From ea62d25e0833a28f01e20d809315838b18c85637 Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Tue, 3 Apr 2018 17:12:41 +0200 Subject: [PATCH 01/15] update changelog add dockerhub trigger to travis build #74 add dockerhub trigger to travis build #74 add dockerhub trigger to travis build #74 --- .build/env_dockerhub.sh | 16 ---------------- .build/trigger_dockerhub.sh | 25 ++++++++++++++++++++----- .travis.yml | 15 ++++++++++++++- changelog.md | 4 ++-- 4 files changed, 36 insertions(+), 24 deletions(-) delete mode 100755 .build/env_dockerhub.sh diff --git a/.build/env_dockerhub.sh b/.build/env_dockerhub.sh deleted file mode 100755 index 455808f8..00000000 --- a/.build/env_dockerhub.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash -### used in jenkins to set correct env vars - -echo "branch= $GIT_BRANCH" -GIT_BRANCH=${GIT_BRANCH/origin\/} -DTAG="${GIT_BRANCH/feature\/#}" -DTAG="${GIT_BRANCH/refs\/tags\/}" - - -if [[ $DTAG == "master" ]] ; then - DTAG='latest' -fi - -echo "DOCKER_TAG=$DTAG" -### will be read out by jenkins -echo "DOCKER_TAG=$DTAG" > $WORKSPACE/myjob.properties \ No newline at end of file diff --git a/.build/trigger_dockerhub.sh b/.build/trigger_dockerhub.sh index 74c7d3aa..9bde943e 100755 --- a/.build/trigger_dockerhub.sh +++ b/.build/trigger_dockerhub.sh @@ -1,6 +1,25 @@ #!/usr/bin/env bash set -e -o pipefail +if [ -z $GIT_BRANCH ] ; then + GIT_BRANCH=$TRAVIS_BRANCH +fi +if [ -z $GIT_BRANCH ] ; then + echo "cloud not execute script! Please specify at least on environment variable of: GIT_BRANCH, TRAVIS_BRANCH" + exit -1 +fi + +echo "branch=$GIT_BRANCH" +GIT_BRANCH=${GIT_BRANCH/origin\/} +DOCKER_TAG="${GIT_BRANCH/refs\/tags\/}" +if [[ $DOCKER_TAG == "master" ]] ; then + echo "skip building latest tag!" + echo "... use 'tag_image.sh' script to release a new version. See: https://github.com/ConSol/docker-headless-vnc-container/blob/master/how-to-release.md" + exit 0 +fi + +echo "DOCKER_TAG=$DOCKER_TAG" +echo "..." echo "trigger dockerhub builds for Tag $DOCKER_TAG:" URLS=( @@ -11,11 +30,7 @@ URLS=( ) PAYLOAD='{"source_type": "Tag", "source_name": "'$DOCKER_TAG'"}' -if [[ $DOCKER_TAG == "latest" ]] ; then - echo "DockerHub will not be triggered: use script 'tag_image.sh'" - #PAYLOAD='{"docker_tag": "'latest'"}' - exit 0 -fi +# use docker tag instead of branch if [[ $DOCKER_TAG == "dev" ]] ; then PAYLOAD='{"docker_tag": "'dev'"}' fi diff --git a/.travis.yml b/.travis.yml index 96c0650e..26d896de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,4 +21,17 @@ script: else docker build -t ubuntu-icewm-vnc -f ./Dockerfile.ubuntu.icewm.vnc . ; fi' - \ No newline at end of file + +deploy: + provider: script + script: .build/trigger_dockerhub.sh + on: + tags: false + all_branches: true + +notifications: + email: + recipients: + - Sakuli%0032%0062%0032Notifications+719bb1d7615904fb214c668723655875@zulip.consol.de + on_success: always # default: change + on_failure: always # default: always diff --git a/changelog.md b/changelog.md index b1259ed8..41d93a22 100644 --- a/changelog.md +++ b/changelog.md @@ -8,9 +8,9 @@ * add "DEBUG" mode and move all log output to this mode * update README.md * merge pull request from: - * [hsiaoyi0504](https://github.com/hsiaoyi0504) update noVNC to [https://github.com/novnc/noVNC/releases/tag/v1.0.0](v1.0.0) ([#66](https://github.com/ConSol/docker-headless-vnc-container/pull/66)) + * [hsiaoyi0504](https://github.com/hsiaoyi0504) update noVNC to [v1.0.0](https://github.com/novnc/noVNC/releases/tag/v1.0.0) ([#66](https://github.com/ConSol/docker-headless-vnc-container/pull/66)) * add example for [Kubernetes usage](./kubernetes/README.md) ([#71](https://github.com/ConSol/docker-headless-vnc-container/issues/71)) -* remove verbose output by default from set_user_permissions.sh +* remove verbose output by default from `set_user_permissions.sh` script ### Version 1.2.3: From 15714a6fc818c24532ba0314a0f2b0436112ba6b Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Tue, 3 Apr 2018 18:36:18 +0200 Subject: [PATCH 02/15] add dockerhub trigger to travis build #74 --- .build/trigger_dockerhub.sh | 15 +++++++++++---- .travis.yml | 29 ++++++++--------------------- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/.build/trigger_dockerhub.sh b/.build/trigger_dockerhub.sh index 9bde943e..92098d1d 100755 --- a/.build/trigger_dockerhub.sh +++ b/.build/trigger_dockerhub.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash set -e -o pipefail + + if [ -z $GIT_BRANCH ] ; then GIT_BRANCH=$TRAVIS_BRANCH fi @@ -35,11 +37,16 @@ if [[ $DOCKER_TAG == "dev" ]] ; then PAYLOAD='{"docker_tag": "'dev'"}' fi +# use first parameter to filter trigger command +IMAGENAME=$1 + #Loop for URL in "${URLS[@]}" do - echo "URL: $URL" - echo "PAYLOAD: $PAYLOAD" - curl -H "Content-Type: application/json" --data "$PAYLOAD" -X POST "$URL" - echo " - done!" + if [ -z $IMAGENAME ] || [[ $URL =~ .*"$IMAGENAME".* ]] ; then + echo "URL: $URL" + echo "PAYLOAD: $PAYLOAD" + curl -H "Content-Type: application/json" --data "$PAYLOAD" -X POST "$URL" + echo " - done!" + fi done \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 26d896de..f4eb0257 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,32 +6,19 @@ services: language: generic env: -- DISTRI=centos DESKTOP=Xfce4 -- DISTRI=centos DESKTOP=IceWM -- DISTRI=ubuntu DESKTOP=Xfce4 -- DISTRI=ubuntu DESKTOP=IceWM +- DISTRI=ubuntu DESKTOP=xfce +- DISTRI=ubuntu DESKTOP=icewm +- DISTRI=centos DESKTOP=xfce +- DISTRI=centos DESKTOP=icewm script: - - 'if [ ${DISTRI} == "centos" ] && [ ${DESKTOP} == "Xfce4" ]; then - docker build -t centos-xfce-vnc -f ./Dockerfile.centos.xfce.vnc . ; - elif [ ${DISTRI} == "centos" ] && [ ${DESKTOP} == "IceWM" ]; then - docker build -t centos-icewm-vnc -f ./Dockerfile.centos.icewm.vnc . ; - elif [ ${DISTRI} == "ubuntu" ] && [ ${DESKTOP} == "Xfce4" ]; then - docker build -t ubuntu-xfce-vnc -f ./Dockerfile.ubuntu.xfce.vnc . ; - else - docker build -t ubuntu-icewm-vnc -f ./Dockerfile.ubuntu.icewm.vnc . ; - fi' - -deploy: - provider: script - script: .build/trigger_dockerhub.sh - on: - tags: false - all_branches: true + - docker build -t local/${DISTRI}-${DESKTOP}-vnc -f ./Dockerfile.${DISTRI}.${DESKTOP}.vnc . +after_success: + - bash .build/trigger_dockerhub.sh ${DISTRI}-${DESKTOP}-vnc notifications: email: recipients: - - Sakuli%0032%0062%0032Notifications+719bb1d7615904fb214c668723655875@zulip.consol.de + - "Sakuli%0032%0062%0032Notifications+719bb1d7615904fb214c668723655875@zulip.consol.de" on_success: always # default: change on_failure: always # default: always From 2161100ec3d3636cf5eb4f119675f3a304084030 Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Tue, 3 Apr 2018 18:47:16 +0200 Subject: [PATCH 03/15] add how-to-release description #75 --- README.md | 3 +++ how-to-release.md | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 how-to-release.md diff --git a/README.md b/README.md index 3c7029ab..e0e6d529 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,9 @@ If you open some graphic/work intensive websites in the Docker container (especi Thx @raghavkarol for the hint! +## How to release +See **[how-to-release.md](./how-to-release.md)** + ## Contributors At this point we want to thank all contributors, which helped to move this great project by submitting code, writing documentation, or adapting other tools to play well together with the docker headless container. diff --git a/how-to-release.md b/how-to-release.md new file mode 100644 index 00000000..5a1e3063 --- /dev/null +++ b/how-to-release.md @@ -0,0 +1,20 @@ +# How to release + +* Check if `changelog.md` is correct +* Check if all features are merged in dev and pushed +* Pull the latest `dev` images + + .build/tag_image.sh dev 1.x.x --save + +* Test if the latest `dev` build is usable + * Change the the `FROM` statement in Sakuli `Dockerfile` to `dev` tag (in separate branch) and run (after build on dockerhub) [`docker/.build/tag_image.sh --save`](https://github.com/ConSol/sakuli/blob/master/docker/.build/tag_image.sh) + +* On success - push the tested `dev` images to dockerhub + + .build/tag_image.sh dev 1.x.x + .build/tag_image.sh dev latest + +* Merge `dev` branch to `master` + +* Create a release on [github.com/ConSol/docker-headless-vnc-container/releases/new](https://github.com/ConSol/docker-headless-vnc-container/releases/new) +* Write a blog post for [labs.consol.de](https://labs.consol.de/) \ No newline at end of file From eb00ff276d35dc0c461f53ce19c8725d48f91ca1 Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Wed, 4 Apr 2018 17:06:01 +0200 Subject: [PATCH 04/15] update notification for travis build #74 --- .travis.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index f4eb0257..5535e420 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,8 +17,10 @@ after_success: - bash .build/trigger_dockerhub.sh ${DISTRI}-${DESKTOP}-vnc notifications: - email: - recipients: - - "Sakuli%0032%0062%0032Notifications+719bb1d7615904fb214c668723655875@zulip.consol.de" - on_success: always # default: change - on_failure: always # default: always +webhooks: +- https://zulip.consol.de/api/v1/external/travis?stream=travis&topic=build-status&api_key=oyr05aerjU4OVFAmlAx4aV9FzMfA04Uc +# email: +# recipients: +# - "Sakuli%0032%0062%0032Notifications+719bb1d7615904fb214c668723655875@zulip.consol.de" +# on_success: always # default: change +# on_failure: always # default: always From 4d20699de64564da46ff4ebc2e57fe73bc1e5245 Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Wed, 4 Apr 2018 17:43:07 +0200 Subject: [PATCH 05/15] update notification for travis build #74 change notification to standard for travis build #74 --- .travis.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5535e420..0a546808 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,11 +16,9 @@ script: after_success: - bash .build/trigger_dockerhub.sh ${DISTRI}-${DESKTOP}-vnc -notifications: -webhooks: -- https://zulip.consol.de/api/v1/external/travis?stream=travis&topic=build-status&api_key=oyr05aerjU4OVFAmlAx4aV9FzMfA04Uc -# email: +## use standard notification to committer +#notifications: # recipients: -# - "Sakuli%0032%0062%0032Notifications+719bb1d7615904fb214c668723655875@zulip.consol.de" -# on_success: always # default: change +# - "testautomatisierung@consol.de" +# on_success: change # default: change # on_failure: always # default: always From 9366198c0c95307d1762cfd8f242eedf9614097d Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Wed, 2 May 2018 17:16:13 +0200 Subject: [PATCH 06/15] fix small issue of setting debug output in `set_user_permission.sh` --- src/common/install/set_user_permission.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/install/set_user_permission.sh b/src/common/install/set_user_permission.sh index b4eee7ca..13f9e1e1 100644 --- a/src/common/install/set_user_permission.sh +++ b/src/common/install/set_user_permission.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash ### every exit != 0 fails the script set -e -if [[ -z $DEBUG ]]; then +if [[ -n $DEBUG ]]; then verbose="-v" fi From adbfe6d1d89ee3038ca2a31484dd2544aa31d487 Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Wed, 30 May 2018 17:23:29 +0200 Subject: [PATCH 07/15] remove temp epel-testing repo for chrome --- src/centos/install/chrome.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/centos/install/chrome.sh b/src/centos/install/chrome.sh index cb92dfc4..2972f955 100644 --- a/src/centos/install/chrome.sh +++ b/src/centos/install/chrome.sh @@ -3,13 +3,9 @@ set -e echo "Install Chromium Browser" - -#TODO use temporally epel-testing repo to fix chrome version 60.0.3112.113-2.el7 -yum-config-manager --enable epel-testing yum -y install chromium chromium-libs chromium-libs-media -yum-config-manager --enable epel-testing - yum clean all + ln -s /usr/bin/chromium-browser /usr/bin/google-chrome ### fix to start chromium in a Docker container, see https://github.com/ConSol/docker-headless-vnc-container/issues/2 From cba9a038c4c36aa1446b43f49584f38f9d958d5f Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Fri, 1 Jun 2018 20:25:55 +0200 Subject: [PATCH 08/15] fix #82: add missing xterm package --- src/ubuntu/install/xfce_ui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ubuntu/install/xfce_ui.sh b/src/ubuntu/install/xfce_ui.sh index 9d0f06b5..7e56fb1f 100644 --- a/src/ubuntu/install/xfce_ui.sh +++ b/src/ubuntu/install/xfce_ui.sh @@ -4,6 +4,6 @@ set -e echo "Install Xfce4 UI components" apt-get update -apt-get install -y supervisor xfce4 xfce4-terminal +apt-get install -y supervisor xfce4 xfce4-terminal xterm apt-get purge -y pm-utils xscreensaver* apt-get clean -y \ No newline at end of file From 58fc540b96b277eb276365340f9b6bac1c9d1518 Mon Sep 17 00:00:00 2001 From: Tobias Schneck Date: Fri, 13 Jul 2018 13:20:33 +0200 Subject: [PATCH 09/15] close #87 - fix some typos --- src/centos/install/libnss_wrapper.sh | 2 +- src/ubuntu/install/libnss_wrapper.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/centos/install/libnss_wrapper.sh b/src/centos/install/libnss_wrapper.sh index c79bc36a..20ca59d6 100644 --- a/src/centos/install/libnss_wrapper.sh +++ b/src/centos/install/libnss_wrapper.sh @@ -6,7 +6,7 @@ echo "Install nss-wrapper to be able to execute image as non-root user" yum -y install nss_wrapper gettext yum clean all -echo "add 'souce generate_container_user' to .bashrc" +echo "add 'source generate_container_user' to .bashrc" # have to be added to hold all env vars correctly echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc \ No newline at end of file diff --git a/src/ubuntu/install/libnss_wrapper.sh b/src/ubuntu/install/libnss_wrapper.sh index 6e68c644..e6fd5ff1 100644 --- a/src/ubuntu/install/libnss_wrapper.sh +++ b/src/ubuntu/install/libnss_wrapper.sh @@ -7,7 +7,7 @@ apt-get update apt-get install -y libnss-wrapper gettext apt-get clean -y -echo "add 'souce generate_container_user' to .bashrc" +echo "add 'source generate_container_user' to .bashrc" # have to be added to hold all env vars correctly echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc \ No newline at end of file From 8c1bbdf099f903f624192546d66d4061a400dfb4 Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Fri, 20 Jul 2018 09:49:49 +0200 Subject: [PATCH 10/15] #88 Existing VNC password settings will be removed to enable password changes after Docker commit --- src/common/scripts/vnc_startup.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/common/scripts/vnc_startup.sh b/src/common/scripts/vnc_startup.sh index 3dd8562f..dc121a4d 100755 --- a/src/common/scripts/vnc_startup.sh +++ b/src/common/scripts/vnc_startup.sh @@ -67,6 +67,12 @@ echo -e "\n------------------ change VNC password ------------------" # first entry is control, second is view (if only one is valid for both) mkdir -p "$HOME/.vnc" PASSWD_PATH="$HOME/.vnc/passwd" + +if [[ -f $PASSWD_PATH ]]; then + echo -e "\n--------- purging existing VNC password settings ---------" + rm -f $PASSWD_PATH +fi + if [[ $VNC_VIEW_ONLY == "true" ]]; then echo "start VNC server in VIEW ONLY mode!" #create random pw to prevent access From 70766dfef2f6cb2deaf3ac914dc529ad0da8f547 Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Thu, 23 Aug 2018 11:18:44 +0200 Subject: [PATCH 11/15] Added install script to install additional fonts --- Dockerfile.ubuntu.icewm.vnc | 3 +++ Dockerfile.ubuntu.xfce.vnc | 3 +++ src/ubuntu/install/install_custom_fonts.sh | 6 ++++++ 3 files changed, 12 insertions(+) create mode 100644 src/ubuntu/install/install_custom_fonts.sh diff --git a/Dockerfile.ubuntu.icewm.vnc b/Dockerfile.ubuntu.icewm.vnc index 9ee0d0db..927abf75 100644 --- a/Dockerfile.ubuntu.icewm.vnc +++ b/Dockerfile.ubuntu.icewm.vnc @@ -41,6 +41,9 @@ RUN find $INST_SCRIPTS -name '*.sh' -exec chmod a+x {} + RUN $INST_SCRIPTS/tools.sh ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' +### Install custom fonts +RUN $INST_SCRIPTS/install_custom_fonts.sh + ### Install xvnc-server & noVNC - HTML5 based VNC viewer RUN $INST_SCRIPTS/tigervnc.sh RUN $INST_SCRIPTS/no_vnc.sh diff --git a/Dockerfile.ubuntu.xfce.vnc b/Dockerfile.ubuntu.xfce.vnc index d88636f6..e7baf38b 100644 --- a/Dockerfile.ubuntu.xfce.vnc +++ b/Dockerfile.ubuntu.xfce.vnc @@ -41,6 +41,9 @@ RUN find $INST_SCRIPTS -name '*.sh' -exec chmod a+x {} + RUN $INST_SCRIPTS/tools.sh ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' +### Install custom fonts +RUN $INST_SCRIPTS/install_custom_fonts.sh + ### Install xvnc-server & noVNC - HTML5 based VNC viewer RUN $INST_SCRIPTS/tigervnc.sh RUN $INST_SCRIPTS/no_vnc.sh diff --git a/src/ubuntu/install/install_custom_fonts.sh b/src/ubuntu/install/install_custom_fonts.sh new file mode 100644 index 00000000..14fdb628 --- /dev/null +++ b/src/ubuntu/install/install_custom_fonts.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +### every exit != 0 fails the script +set -e + +echo "Installing ttf-wqy-zenhei" +apt-get install -y ttf-wqy-zenhei From fa496fa6d6ddef2cccaa13f02ac016504920ef4e Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Mon, 3 Sep 2018 13:45:17 +0200 Subject: [PATCH 12/15] Added issue and PR templates --- .github/ISSUE_TEMPLATE/bug.md | 15 +++++++++++++++ .github/ISSUE_TEMPLATE/feature.md | 13 +++++++++++++ .github/ISSUE_TEMPLATE/question.md | 12 ++++++++++++ .github/PULL_REQUEST_TEMPLATE/bugfix.md | 15 +++++++++++++++ .github/PULL_REQUEST_TEMPLATE/enhancement.md | 15 +++++++++++++++ .github/PULL_REQUEST_TEMPLATE/feature.md | 15 +++++++++++++++ 6 files changed, 85 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug.md create mode 100644 .github/ISSUE_TEMPLATE/feature.md create mode 100644 .github/ISSUE_TEMPLATE/question.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/bugfix.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/enhancement.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/feature.md diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 00000000..e58ff1a1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,15 @@ +--- +name: Bug report +about: Create a bug report to help us enhance our images +--- + +**Image** + +**Tag** + +**Short overview** + +**Detailed error description** + +**Additional content** +> Please provide any (mandatory) additional data to reproduce the error (custom Dockerfiles etc.) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md new file mode 100644 index 00000000..5c64de43 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -0,0 +1,13 @@ +--- +name: Feature request +about: Open a feature request +--- + +**Short overview** + +**Use case** + +**Detailed feature description** + +**Additional content** +> Please provide any (mandatory) additional data for your desired feature \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 00000000..36af1c96 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,12 @@ +--- +name: Question +about: File a request to resolve open questions +--- + +**Image** + +**Tag** + +**Short summary** + +**Detailed question** \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/bugfix.md b/.github/PULL_REQUEST_TEMPLATE/bugfix.md new file mode 100644 index 00000000..c2cd25f0 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/bugfix.md @@ -0,0 +1,15 @@ +--- +name: Bugfix +about: Request to merge a bugfix to our existing images +--- + +**Short summary** + +**Detailed description (motivation, use-case etc.)** + +**Screenshots (if appropriate)** + +**Checklist** + +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/enhancement.md b/.github/PULL_REQUEST_TEMPLATE/enhancement.md new file mode 100644 index 00000000..fa5e2ac8 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/enhancement.md @@ -0,0 +1,15 @@ +--- +name: Enhancement +about: Request to merge an enhancement to our existing images +--- + +**Short summary** + +**Detailed description (motivation, use-case etc.)** + +**Screenshots (if appropriate)** + +**Checklist** + +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/feature.md b/.github/PULL_REQUEST_TEMPLATE/feature.md new file mode 100644 index 00000000..f30068ca --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/feature.md @@ -0,0 +1,15 @@ +--- +name: Feature +about: Request to merge a new feature +--- + +**Short summary** + +**Detailed description (motivation, use-case etc.)** + +**Screenshots (if appropriate)** + +**Checklist** + +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. \ No newline at end of file From 1e8e84d260d05e96ed009c88cb72201eaa46f4a4 Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Mon, 3 Sep 2018 14:34:50 +0200 Subject: [PATCH 13/15] Updated readme --- README.md | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 551ca004..03c0309b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Docker container images with "headless" VNC session -The repository contains a collection of Docker images with headless VNC environments. +This repository contains a collection of Docker images with headless VNC environments. Each Docker image is installed with the following components: @@ -41,27 +41,27 @@ It's also possible to run the images in container orchestration platforms like [ * [OpenShift usage of "headless" VNC Docker images](./openshift/README.md) ## Usage -The usage is for all provide images **similar**, for instance see following the usage of the `consol/centos-xfce-vnc` image: +Usage is **similar** for all provided images, e.g. for `consol/centos-xfce-vnc`: -Print out help page: +- Print out help page: - docker run consol/centos-xfce-vnc --help + docker run consol/centos-xfce-vnc --help -Run command with mapping to local port `5901` (vnc protocol) and `6901` (vnc web access): +- Run command with mapping to local port `5901` (vnc protocol) and `6901` (vnc web access): - docker run -d -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc + docker run -d -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc -Change the default user and group within a container to your own with adding `--user $(id -u):$(id -g)`: +- Change the default user and group within a container to your own with adding `--user $(id -u):$(id -g)`: - docker run -d -p 5901:5901 -p 6901:6901 --user $(id -u):$(id -g) consol/centos-xfce-vnc + docker run -d -p 5901:5901 -p 6901:6901 --user $(id -u):$(id -g) consol/centos-xfce-vnc -If you want to get into the container use interactive mode `-it` and `bash` +- If you want to get into the container use interactive mode `-it` and `bash` + + docker run -it -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc bash - docker run -it -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc bash +- Build an image from scratch: -Build an image from scratch: - - docker build -t consol/centos-xfce-vnc centos-xfce-vnc + docker build -t consol/centos-xfce-vnc centos-xfce-vnc # Connect & Control If the container is started like mentioned above, connect via one of these options: @@ -74,24 +74,27 @@ If the container is started like mentioned above, connect via one of these optio ## Hints ### 1) Extend a Image with your own software -Since `1.1.0` all images run as non-root user per default, so that means, if you want to extend the image and install software, you have to switch in the `Dockerfile` back to the `root` user: +Since version `1.1.0` all images run as non-root user per default, so if you want to extend the image and install software, you have to switch back to the `root` user: ```bash ## Custom Dockerfile FROM consol/centos-xfce-vnc ENV REFRESHED_AT 2018-03-18 -## Install a gedit +# Switch to root user to install additional software USER 0 + +## Install a gedit RUN yum install -y gedit \ && yum clean all + ## switch back to default user USER 1000 ``` ### 2) Change User of running Sakuli Container -Per default, since version `1.3.0` all container processes will executed with user id `1000`. You can change the user id like follow: +Per default, since version `1.3.0` all container processes will be executed with user id `1000`. You can change the user id as follows: #### 2.1) Using root (user id `0`) Add the `--user` flag to your docker run command: @@ -122,7 +125,7 @@ the docker run command: docker run -it -p 5901:5901 -p 6901:6901 -e VNC_RESOLUTION=800x600 consol/centos-xfce-vnc ### 4) View only VNC -Since version `1.2.0` it's possible to prevent unwanted control over VNC. Therefore you can set the environment variable `VNC_VIEW_ONLY=true`. If set the docker startup script will create a random cryptic password for the control connection and use the value of `VNC_PW` for the view only connection over the VNC connection. +Since version `1.2.0` it's possible to prevent unwanted control via VNC. Therefore you can set the environment variable `VNC_VIEW_ONLY=true`. If set, the startup script will create a random password for the control connection and use the value of `VNC_PW` for view only connection over the VNC connection. docker run -it -p 5901:5901 -p 6901:6901 -e VNC_VIEW_ONLY=true consol/centos-xfce-vnc @@ -142,10 +145,11 @@ See **[how-to-release.md](./how-to-release.md)** At this point we want to thank all contributors, which helped to move this great project by submitting code, writing documentation, or adapting other tools to play well together with the docker headless container. -* [Tobias Schneck](https://github.com/toschneck) - Lead Development -* [Robert Bohne](https://github.com/rbo) - IceWM Images +* [Tobias Schneck](https://github.com/toschneck) - Lead development +* [Robert Bohne](https://github.com/rbo) - IceWM images * [hsiaoyi0504](https://github.com/hsiaoyi0504) - PR [#66](https://github.com/ConSol/docker-headless-vnc-container/pull/66) * [dmhumph](https://github.com/dmhumph) - PR [#44](https://github.com/ConSol/docker-headless-vnc-container/issue/44) +* [Simon Hofmann](https://github.com/s1hofmann) - Current maintainer ## Changelog From d04c58f275ffc59f4014e853de36224460104252 Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Mon, 29 Oct 2018 09:21:35 +0100 Subject: [PATCH 14/15] Updated maintainer info --- Dockerfile.centos.icewm.vnc | 4 ++-- Dockerfile.centos.xfce.vnc | 4 ++-- Dockerfile.ubuntu.icewm.vnc | 4 ++-- Dockerfile.ubuntu.xfce.vnc | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Dockerfile.centos.icewm.vnc b/Dockerfile.centos.icewm.vnc index ffb82bcd..a0c651aa 100755 --- a/Dockerfile.centos.icewm.vnc +++ b/Dockerfile.centos.icewm.vnc @@ -2,8 +2,8 @@ FROM centos:7 -MAINTAINER Tobias Schneck "tobias.schneck@consol.de" -ENV REFRESHED_AT 2018-03-27 +MAINTAINER Simon Hofmann "simon.hofmann@consol.de" +ENV REFRESHED_AT 2018-10-29 LABEL io.k8s.description="Headless VNC Container with IceWM window manager, firefox and chromium" \ io.k8s.display-name="Headless VNC Container based on Centos" \ diff --git a/Dockerfile.centos.xfce.vnc b/Dockerfile.centos.xfce.vnc index 1a80e67f..c19cc547 100755 --- a/Dockerfile.centos.xfce.vnc +++ b/Dockerfile.centos.xfce.vnc @@ -2,8 +2,8 @@ FROM centos:7 -MAINTAINER Tobias Schneck "tobias.schneck@consol.de" -ENV REFRESHED_AT 2018-03-27 +MAINTAINER Simon Hofmann "simon.hofmann@consol.de" +ENV REFRESHED_AT 2018-10-29 LABEL io.k8s.description="Headless VNC Container with Xfce window manager, firefox and chromium" \ io.k8s.display-name="Headless VNC Container based on Centos" \ diff --git a/Dockerfile.ubuntu.icewm.vnc b/Dockerfile.ubuntu.icewm.vnc index 927abf75..e66e51b1 100644 --- a/Dockerfile.ubuntu.icewm.vnc +++ b/Dockerfile.ubuntu.icewm.vnc @@ -2,8 +2,8 @@ FROM ubuntu:16.04 -MAINTAINER Tobias Schneck "tobias.schneck@consol.de" -ENV REFRESHED_AT 2018-03-27 +MAINTAINER Simon Hofmann "simon.hofmann@consol.de" +ENV REFRESHED_AT 2018-10-29 LABEL io.k8s.description="Headless VNC Container with IceWM window manager, firefox and chromium" \ io.k8s.display-name="Headless VNC Container based on Ubuntu" \ diff --git a/Dockerfile.ubuntu.xfce.vnc b/Dockerfile.ubuntu.xfce.vnc index e7baf38b..a8e95b0f 100644 --- a/Dockerfile.ubuntu.xfce.vnc +++ b/Dockerfile.ubuntu.xfce.vnc @@ -2,8 +2,8 @@ FROM ubuntu:16.04 -MAINTAINER Tobias Schneck "tobias.schneck@consol.de" -ENV REFRESHED_AT 2018-03-27 +MAINTAINER Simon Hofmann "simon.hofmann@consol.de" +ENV REFRESHED_AT 2018-10-29 LABEL io.k8s.description="Headless VNC Container with Xfce window manager, firefox and chromium" \ io.k8s.display-name="Headless VNC Container based on Ubuntu" \ From 35bfb524c9e885ec36ecdd0a30bc8ba8d275de7e Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Mon, 29 Oct 2018 09:34:22 +0100 Subject: [PATCH 15/15] Updated changelog --- changelog.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/changelog.md b/changelog.md index 41d93a22..0b081dab 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ ## Changelog of the Docker headless VNC images +### Version 1.4.0: +* added Github issue and pull request templates +* added install script for custom fonts ([#83](https://github.com/ConSol/docker-headless-vnc-container/issues/83))) +* fixed problem that VNC password was not properly set after doing a Docker commit ([#88](https://github.com/ConSol/docker-headless-vnc-container/issues/88)) +* fixed some typos ([#87](https://github.com/ConSol/docker-headless-vnc-container/issues/87)) +* added 'how-to-release' info ([#75](https://github.com/ConSol/docker-headless-vnc-container/issues/75)) +* added Travis build ([#74](https://github.com/ConSol/docker-headless-vnc-container/issues/74)) + ### Version 1.3.0: * change default USER to `1000` ([#61](https://github.com/ConSol/docker-headless-vnc-container/issues/61)) * refactor vnc startup script ([#73](https://github.com/ConSol/docker-headless-vnc-container/issues/73))