12 Commits

Author SHA1 Message Date
d6a0039cda Merge branch 'master' of https://gitea.akanealw.com/akanealw/debian-vnc-xfce-g3 2024-04-01 22:37:53 +00:00
824f644575 scripts to build 2024-04-01 22:37:31 +00:00
e1b16e2d2b testing 2024-03-29 03:26:57 -05:00
30f7683720 corrected tag and customized dockerfiles 2024-01-30 07:16:49 -06:00
0c4e90b0ae added build scripts 2024-01-30 07:05:32 -06:00
c8046f0424 edited and moved secrets file 2024-01-30 06:59:58 -06:00
b8ec8e4c7e changed variables 2024-01-29 20:21:37 -06:00
aa7ac5670c changed secrets 2024-01-29 20:18:30 -06:00
4d6be40370 removed secrets filters 2024-01-29 20:01:07 -06:00
0edb92f1de exclude secrets files 2024-01-29 19:47:43 -06:00
71ecf06dd8 changed executables 2024-01-29 19:43:18 -06:00
accetto
93515c7dfa Release 23.12 2023-12-06 17:25:37 +01:00
71 changed files with 169 additions and 21 deletions

0
.gitattributes vendored Normal file → Executable file
View File

2
.gitignore vendored Normal file → Executable file
View File

@@ -23,6 +23,6 @@
avanti*
debug*
scrap*
secret*
#secret*
TODO*
*.log

10
CHANGELOG.md Normal file → Executable file
View File

@@ -6,6 +6,16 @@
***
### Release 23.12
This is a maintenance release.
- Updated Dockerfiles
- file `.bashrc` is created earlier (stage `merge_stage_vnc`)
- Updated file `example-secrets.rc`
- removed the initialization of the variables `FORCE_BUILDING` and `FORCE_PUBLISHING_BUILDER_REPO` (unset means `0`)
- the variables are still used as before, but now they can be set individually for each building/publishing run
### Release 23.11
- Added file `$HOME/.bashrc` to all images.

0
LICENSE Normal file → Executable file
View File

0
README.md Normal file → Executable file
View File

View File

@@ -0,0 +1,5 @@
#!/bin/bash
./builder.sh latest pre_build
./builder.sh latest build
docker push repo.aknlw.com/akanealw/debian-vnc-xfce:latest

View File

@@ -0,0 +1,5 @@
#!/bin/bash
./builder.sh latest-chromium pre_build
./builder.sh latest-chromium build
docker push repo.aknlw.com/akanealw/debian-vnc-xfce:latest-chromium

View File

@@ -0,0 +1,5 @@
#!/bin/bash
./builder.sh latest-firefox pre_build
./builder.sh latest-firefox build
docker push repo.aknlw.com/akanealw/debian-vnc-xfce:latest-firefox-default

0
builder.sh Normal file → Executable file
View File

0
ci-builder.sh Normal file → Executable file
View File

1
docker/.dockerignore Normal file → Executable file
View File

@@ -2,3 +2,4 @@
!src
!xfce*
!.g3-cache

0
docker/Dockerfile Normal file → Executable file
View File

13
docker/Dockerfile.xfce.11 Normal file → Executable file
View File

@@ -8,9 +8,9 @@ ARG ARG_MERGE_STAGE_BROWSER_BASE=merge_stage_vnc
ARG ARG_FINAL_STAGE_BASE=merge_stage_browser
ARG ARG_HEADLESS_USER_ID=1000
ARG ARG_HEADLESS_USER_NAME=headless
ARG ARG_HEADLESS_USER_NAME=akanealw
ARG ARG_HEADLESS_USER_GROUP_ID=1000
ARG ARG_HEADLESS_USER_GROUP_NAME=headless
ARG ARG_HEADLESS_USER_GROUP_NAME=akanealw
ARG ARG_SUDO_INITIAL_PW=headless
@@ -91,7 +91,9 @@ RUN \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
DEBIAN_FRONTEND=noninteractive apt-get install -y "${ARG_APT_NO_RECOMMENDS:+--no-install-recommends}" \
xfce4 \
xfce4-terminal
xfce4-terminal \
gnome-themes-extra \
gnome-themes-extra-data
###############
@@ -209,7 +211,6 @@ RUN echo \
<meta charset=\"utf-8\"/>\n\
</head>\n\
<body>\n\
<p><a href=\"vnc_lite.html\">noVNC Lite Client</a></p>\n\
<p><a href=\"vnc.html\">noVNC Full Client</a></p>\n\
</body>\n\
</html>" \
@@ -237,6 +238,9 @@ ENV \
WORKDIR "${HOME}"
### add '.bashrc' and similar resources
COPY ./src/home "${HOME}"/
##################
### stage_chromium
@@ -320,7 +324,6 @@ ENV \
COPY ./src/xfce-startup "${STARTUPDIR}"/
COPY ./src/tests "${HOME}"/tests/
COPY ./src/home "${HOME}"/
COPY ./xfce/src/home/config "${HOME}"/.config/
COPY ./xfce/src/home/Desktop "${HOME}"/Desktop/

13
docker/Dockerfile.xfce.12 Normal file → Executable file
View File

@@ -8,9 +8,9 @@ ARG ARG_MERGE_STAGE_BROWSER_BASE=merge_stage_vnc
ARG ARG_FINAL_STAGE_BASE=merge_stage_browser
ARG ARG_HEADLESS_USER_ID=1000
ARG ARG_HEADLESS_USER_NAME=headless
ARG ARG_HEADLESS_USER_NAME=akanealw
ARG ARG_HEADLESS_USER_GROUP_ID=1000
ARG ARG_HEADLESS_USER_GROUP_NAME=headless
ARG ARG_HEADLESS_USER_GROUP_NAME=akanealw
ARG ARG_SUDO_INITIAL_PW=headless
@@ -91,7 +91,9 @@ RUN \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
DEBIAN_FRONTEND=noninteractive apt-get install -y "${ARG_APT_NO_RECOMMENDS:+--no-install-recommends}" \
xfce4 \
xfce4-terminal
xfce4-terminal \
gnome-themes-extra \
gnome-themes-extra-data
###############
@@ -209,7 +211,6 @@ RUN echo \
<meta charset=\"utf-8\"/>\n\
</head>\n\
<body>\n\
<p><a href=\"vnc_lite.html\">noVNC Lite Client</a></p>\n\
<p><a href=\"vnc.html\">noVNC Full Client</a></p>\n\
</body>\n\
</html>" \
@@ -237,6 +238,9 @@ ENV \
WORKDIR "${HOME}"
### add '.bashrc' and similar resources
COPY ./src/home "${HOME}"/
##################
### stage_chromium
@@ -320,7 +324,6 @@ ENV \
COPY ./src/xfce-startup "${STARTUPDIR}"/
COPY ./src/tests "${HOME}"/tests/
COPY ./src/home "${HOME}"/
COPY ./xfce/src/home/config "${HOME}"/.config/
COPY ./xfce/src/home/Desktop "${HOME}"/Desktop/

0
docker/README.md Normal file → Executable file
View File

View File

Before

Width:  |  Height:  |  Size: 464 KiB

After

Width:  |  Height:  |  Size: 464 KiB

View File

Before

Width:  |  Height:  |  Size: 453 KiB

After

Width:  |  Height:  |  Size: 453 KiB

0
docker/doc/images/animation-debian-vnc-xfce-g3.gif Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 471 KiB

After

Width:  |  Height:  |  Size: 471 KiB

0
docker/hooks/build Normal file → Executable file
View File

0
docker/hooks/cache Normal file → Executable file
View File

0
docker/hooks/env.rc Normal file → Executable file
View File

2
docker/hooks/post_push Normal file → Executable file
View File

@@ -34,7 +34,7 @@ main() {
if [[ -n "${GIST_TOKEN}" && -n "${GIST_ID}" && -n "${DEPLOY_GIST_ID}" ]] ; then
if [[ ( -n "${repo_deploy}" && "${repo_deploy}" != "${_prohibited_repo_name}" ) \
|| ( "${FORCE_PUBLISHING_BUILDER_REPO}" == "1" && -n "${repo_building}" && "${repo_building}" != "${_prohibited_repo_name}" ) ]] ; \
|| ( "${FORCE_PUBLISHING_BUILDER_REPO:-0}" == "1" && -n "${repo_building}" && "${repo_building}" != "${_prohibited_repo_name}" ) ]] ; \
then
### get values for badges from the image metadata (labels)

2
docker/hooks/pre_build Normal file → Executable file
View File

@@ -13,7 +13,7 @@ main() {
local version_sticker
local -i exit_code=0
local should_build=${FORCE_BUILDING}
local should_build=${FORCE_BUILDING:-0}
local build_prohibited=${PROHIBIT_BUILDING}
local cache_script="cache"

2
docker/hooks/push Normal file → Executable file
View File

@@ -73,7 +73,7 @@ main() {
fi
### push images into the builder repository
if [[ "${FORCE_PUBLISHING_BUILDER_REPO}" == "1" ]] ; then
if [[ "${FORCE_PUBLISHING_BUILDER_REPO:-0}" == "1" ]] ; then
if [[ -n "${repo}" && "${repo}" != "${_prohibited_repo_name}" ]] ; then

0
docker/hooks/release_of Normal file → Executable file
View File

116
docker/hooks/secrets.rc Executable file
View File

@@ -0,0 +1,116 @@
### This files configures the environment (including secrets!) for building images locally.
### Source this file before building.
### Rename it to "secrets.rc" (or similar) and **make sure** that the '.gitignore' and '.dockerignore' files
### contain the 'secret*' exclusion pattern!
### Example: source ./secrets.rc
### This file is automatically sourced by the script 'hooks/env.rc' if it's found in the same directory.
#region General building pipeline control
export DOCKER_BUILDKIT=1
# export COMPOSE_DOCKER_CLI_BUILD=0
### will force re-building regardless of the verbose version sticker changes
export FORCE_BUILDING=1
### will prohibit re-building regardless of verbose version sticker changes
# export PROHIBIT_BUILDING=0
#endregion
#region Optional version sticker prefix and/or suffix
# export VERSION_STICKER_PREFIX="LOCAL-BETA-"
# export VERSION_STICKER_SUFFIX="-BETA"
#endregion
#region Development environment
### -----------------------
### development environment
### -----------------------
# ### owner of Gitea repos
# export REPO_OWNER_NAME=""
# ### development builder gist
# export GIST_ID=""
# ### development deployment gist
# export DEPLOY_GIST_ID=""
# ### note that the reserved repository name 'void' will prohibit the publishing
# ### primary deployment repos may not exist (may be also left unset)
# export DEPLOYMENT_REPO=""
# export DEPLOYMENT_REPO_CHROMIUM=""
# export DEPLOYMENT_REPO_FIREFOX=""
# ### builder repo can be a secondary deployment repo (if FORCE_PUBLISHING_BUILDER_REPO=1)
# export BUILDER_REPO=""
# ### shared g3-cache is outside the Docker building context
# export SHARED_G3_CACHE_PATH=""
# ### used to control building/publishing (unset means '0')
# export FORCE_PUBLISHING_BUILDER_REPO=1
# export FORCE_BUILDING=1
# ### used by the 'post_push' hook script, which normally removes the helper files
# # export KEEP_HELPER_FILES=0
# ### explicitly disable features that are enabled by default
# # export FEATURES_NOVNC=0
# # export FEATURES_FIREFOX_PLUS=0
# # export FEATURES_OVERRIDING_ENVV=0
#endregion
#region Production environment
### ----------------------
### production environment
### ----------------------
# ### owner of Docker Hub repos
export REPO_OWNER_NAME="repo.aknlw.com"
# ### production builder gist
# export GIST_ID=""
# ### produktion deployment gist
# export DEPLOY_GIST_ID=""
# ### note that the reserved repository name 'void' will prohibit the publishing
# ### primary deployment repos
export DEPLOYMENT_REPO="repo.aknlw.com"
export DEPLOYMENT_REPO_CHROMIUM="akanealw/debian-vnc-xfce-chromium"
export DEPLOYMENT_REPO_FIREFOX="akanealw/debian-vnc-xfce-firefox"
# ### builder repo can be a secondary deployment repo (if FORCE_PUBLISHING_BUILDER_REPO=1)
export BUILDER_REPO="akanealw/debian-vnc-xfce"
# ### shared g3-cache is outside the Docker building context
# export SHARED_G3_CACHE_PATH=""
# ### used to control building/publishing (unset means '0')
# export FORCE_PUBLISHING_BUILDER_REPO=1
# export FORCE_BUILDING=1
# ### used by the 'post_push' hook script, which normally removes the helper files
# export KEEP_HELPER_FILES=0
# ### explicitly disable features that are enabled by default
# # export FEATURES_NOVNC=0
export FEATURES_FIREFOX_PLUS=0
# # export FEATURES_OVERRIDING_ENVV=0
#endregion
#region Real secrets
### ------------
### REAL SECRETS
### ------------
### !!! REAL SECRET !!!
### Gitea: Settings/Developer settings/Personal access tokens
### this PAT must have the 'gist' scope
### warning! this gist token is valid for all gits of the same owner!
# export GIST_TOKEN=""
### !!! REAL SECRETS !!!
### Docker Hub credentials
### warning! this credentials are valid for all Docker Hub repositories of the same owner!
# export DOCKERHUB_USERNAME=""
# export DOCKERHUB_PASSWORD=""
#endregion

0
docker/hooks/util.rc Normal file → Executable file
View File

0
docker/src/home/.bashrc Normal file → Executable file
View File

0
docker/src/tests/test-01.sh Normal file → Executable file
View File

0
docker/src/xfce-startup/help.rc Normal file → Executable file
View File

0
docker/src/xfce-startup/parser.rc Normal file → Executable file
View File

0
docker/src/xfce-startup/set_user_permissions.sh Normal file → Executable file
View File

0
docker/src/xfce-startup/startup.sh Normal file → Executable file
View File

0
docker/src/xfce-startup/user_generator.rc Normal file → Executable file
View File

0
docker/src/xfce-startup/version_of.sh Normal file → Executable file
View File

0
docker/src/xfce-startup/version_sticker.sh Normal file → Executable file
View File

0
docker/src/xfce-startup/vnc_startup.rc Normal file → Executable file
View File

0
docker/xfce-chromium/README-dockerhub.md Normal file → Executable file
View File

0
docker/xfce-chromium/README.md Normal file → Executable file
View File

0
docker/xfce-chromium/readme-append.template Normal file → Executable file
View File

0
docker/xfce-chromium/src/home/Desktop/chromium.desktop Normal file → Executable file
View File

0
docker/xfce-chromium/src/home/readme-chromium.md Normal file → Executable file
View File

0
docker/xfce-firefox/README-dockerhub.md Normal file → Executable file
View File

0
docker/xfce-firefox/README.md Normal file → Executable file
View File

0
docker/xfce-firefox/readme-append.template Normal file → Executable file
View File

View File

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

0
docker/xfce-firefox/src/firefox.plus/resources/user.js Normal file → Executable file
View File

View File

0
docker/xfce/README-dockerhub.md Normal file → Executable file
View File

0
docker/xfce/README.md Normal file → Executable file
View File

0
docker/xfce/readme-append.template Normal file → Executable file
View File

0
docker/xfce/src/home/Desktop/versionsticker.desktop Normal file → Executable file
View File

0
docker/xfce/src/home/config/xfce4/terminal/terminalrc Normal file → Executable file
View File

View File

0
docker/xfce/src/home/readme.md Normal file → Executable file
View File

0
examples/Dockerfile.extend Normal file → Executable file
View File

0
examples/example-override-envv.rc Normal file → Executable file
View File

14
examples/example-secrets.rc Normal file → Executable file
View File

@@ -48,12 +48,12 @@ export DOCKER_BUILDKIT=1
# export BUILDER_REPO=""
# ### shared g3-cache is outside the Docker building context
# export SHARED_G3_CACHE_PATH=""
# ### building process control
# # export FORCE_PUBLISHING_BUILDER_REPO=1
# export FORCE_BUILDING=0
# ### used to control building/publishing (unset means '0')
# export FORCE_PUBLISHING_BUILDER_REPO=1
# export FORCE_BUILDING=1
# ### used by the 'post_push' hook script, which normally removes the helper files
# # export KEEP_HELPER_FILES=0
### explicitly disable features that are enabled by default
# ### explicitly disable features that are enabled by default
# # export FEATURES_NOVNC=0
# # export FEATURES_FIREFOX_PLUS=0
# # export FEATURES_OVERRIDING_ENVV=0
@@ -82,9 +82,9 @@ export DOCKER_BUILDKIT=1
# export BUILDER_REPO=""
# ### shared g3-cache is outside the Docker building context
# export SHARED_G3_CACHE_PATH=""
# ### building process control
# export FORCE_PUBLISHING_BUILDER_REPO=0
# export FORCE_BUILDING=0
# ### used to control building/publishing (unset means '0')
# export FORCE_PUBLISHING_BUILDER_REPO=1
# export FORCE_BUILDING=1
# ### used by the 'post_push' hook script, which normally removes the helper files
# export KEEP_HELPER_FILES=0
# ### explicitly disable features that are enabled by default

0
examples/example.yml Normal file → Executable file
View File

0
readme-builder.md Normal file → Executable file
View File

0
readme-ci-builder.md Normal file → Executable file
View File

0
readme-g3-cache.md Normal file → Executable file
View File

0
readme-local-building-example.md Normal file → Executable file
View File

0
utils/readme-util-readme-examples.md Normal file → Executable file
View File

0
utils/util-readme.sh Normal file → Executable file
View File