From 245290ac943141a6f34a0aba258447a6ebf324a9 Mon Sep 17 00:00:00 2001 From: casjay Date: Mon, 27 Jul 2026 11:38:19 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Update=20to=20latest=20docker=20?= =?UTF-8?q?template=20revision=20=F0=9F=94=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - .env.scripts: synced ENV_PACKAGES to current template (msmtp, sudo, unzip, iproute2, and other base tools added) - Dockerfile: added go-toolchain build stage; expanded PACK_LIST to match; apk upgrade and bash/sh symlink setup added to build stage - rootfs/root/docker/setup/0*.sh: version stamp bumped to current template revision; app-specific logic in 05-custom.sh unchanged - rootfs/usr/local/bin/entrypoint.sh: version stamp bumped to current template revision --- .env.scripts | 6 +++--- Dockerfile | 24 ++++++++++++++++++++---- rootfs/root/docker/setup/00-init.sh | 4 ++-- rootfs/root/docker/setup/01-system.sh | 4 ++-- rootfs/root/docker/setup/02-packages.sh | 4 ++-- rootfs/root/docker/setup/03-files.sh | 4 ++-- rootfs/root/docker/setup/04-users.sh | 4 ++-- rootfs/root/docker/setup/05-custom.sh | 4 ++-- rootfs/root/docker/setup/06-post.sh | 4 ++-- rootfs/root/docker/setup/07-cleanup.sh | 4 ++-- rootfs/usr/local/bin/entrypoint.sh | 2 +- 11 files changed, 40 insertions(+), 24 deletions(-) diff --git a/.env.scripts b/.env.scripts index 5429b06..5d5789f 100644 --- a/.env.scripts +++ b/.env.scripts @@ -1,10 +1,10 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112108-git +##@Version : 202607130228-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 09:08:33 PM EDT 2026 +# @@Created : Mon Jul 13 02:28:39 AM EDT 2026 # @@File : .env.scripts # @@Description : Variables for gen-dockerfile and buildx scripts # @@Changelog : newScript @@ -73,7 +73,7 @@ NODE_MANAGER="system" # Default directories WWW_ROOT_DIR="/usr/local/share/httpd/default" # - - - - - - - - - - - - - - - - - - - - - - - - - -ENV_PACKAGES="git make bash tini ca-certificates openssh-client curl wget tar tzdata jq build-base gcc musl-dev pkgconf openssl-dev libffi-dev zlib-dev linux-headers protobuf protobuf-dev" +ENV_PACKAGES="bash-completion git curl wget sudo unzip iproute2 msmtp openssl jq tzdata mailcap ncurses ncurses-terminfo-base util-linux pciutils usbutils coreutils binutils findutils grep rsync zip tar tini py3-pip procps net-tools sed gawk attr readline lsof less shadow ca-certificates make openssh-client build-base gcc musl-dev pkgconf openssl-dev libffi-dev zlib-dev linux-headers protobuf protobuf-dev" # - - - - - - - - - - - - - - - - - - - - - - - - - # ex: ts=2 sw=2 et filetype=sh # - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Dockerfile b/Dockerfile index 9c880b2..bf3071c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,6 +30,10 @@ ARG BUILD_VERSION="${BUILD_DATE}" FROM tianon/gosu:latest AS gosu +# Go toolchain matching the final image's target platform (not the build host). +# Copied verbatim into the build stage so the image ships an actual go compiler. +FROM golang:alpine AS go-toolchain + # Build Go tools natively on the host platform using Go's cross-compilation. # This avoids QEMU emulation for arm64 and reduces compile time from hours to minutes. FROM --platform=$BUILDPLATFORM golang:alpine AS go-tools @@ -78,7 +82,7 @@ ARG PHP_SERVER ARG SHELL_OPTS ARG PATH -ARG PACK_LIST="git make bash tini ca-certificates openssh-client curl wget tar tzdata jq build-base gcc musl-dev pkgconf openssl-dev libffi-dev zlib-dev linux-headers protobuf protobuf-dev " +ARG PACK_LIST="bash-completion git curl wget sudo unzip iproute2 msmtp openssl jq tzdata mailcap ncurses ncurses-terminfo-base util-linux pciutils usbutils coreutils binutils findutils grep rsync zip tar tini py3-pip procps net-tools sed gawk attr readline lsof less shadow ca-certificates make openssh-client build-base gcc musl-dev pkgconf openssl-dev libffi-dev zlib-dev linux-headers protobuf protobuf-dev " ENV ENV=~/.profile ENV SHELL="/bin/sh" @@ -101,15 +105,26 @@ ENV GITHUB_TOKEN="${GITHUB_TOKEN}" USER ${USER} WORKDIR /root +RUN set -e; \ + echo "Updating the system"; \ + apk upgrade --no-cache + COPY ./rootfs/. / RUN set -e; \ - echo "Updating the system and ensuring bash is installed"; \ - pkmgr update;pkmgr install bash + echo "Ensuring bash and system certs are installed"; \ + pkmgr install bash ca-certificates; \ + update-ca-certificates RUN set -e; \ echo "Setting up prerequisites"; \ - true + apk --no-cache add bash; \ + SH_CMD="$(which sh 2>/dev/null||command -v sh 2>/dev/null)"; \ + BASH_CMD="$(which bash 2>/dev/null||command -v bash 2>/dev/null)"; \ + [ -x "$BASH_CMD" ] && symlink "$BASH_CMD" "/bin/sh" || true; \ + [ -x "$BASH_CMD" ] && symlink "$BASH_CMD" "/usr/bin/sh" || true; \ + [ -x "$BASH_CMD" ] && [ "$SH_CMD" != "/bin/sh" ] && symlink "$BASH_CMD" "$SH_CMD" || true; \ + [ -n "$BASH_CMD" ] && sed -i 's|root:x:.*|root:x:0:0:root:/root:'$BASH_CMD'|g' "/etc/passwd" || true ENV SHELL="/bin/bash" SHELL [ "/bin/bash", "-c" ] @@ -187,6 +202,7 @@ RUN echo "Custom Applications"; \ $SHELL_OPTS; \ echo "" +COPY --from=go-toolchain /usr/local/go/ /usr/local/go/ COPY --from=go-tools /go/bin/ /usr/local/bin/ RUN echo "Running custom commands"; \ diff --git a/rootfs/root/docker/setup/00-init.sh b/rootfs/root/docker/setup/00-init.sh index e58f954..1d4e34e 100755 --- a/rootfs/root/docker/setup/00-init.sh +++ b/rootfs/root/docker/setup/00-init.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:27 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:56 AM EDT 2026 # @@File : 00-init.sh # @@Description : script to run init # @@Changelog : newScript diff --git a/rootfs/root/docker/setup/01-system.sh b/rootfs/root/docker/setup/01-system.sh index 5ba4f32..91b4bb0 100755 --- a/rootfs/root/docker/setup/01-system.sh +++ b/rootfs/root/docker/setup/01-system.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:27 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:57 AM EDT 2026 # @@File : 01-system.sh # @@Description : script to run system # @@Changelog : newScript diff --git a/rootfs/root/docker/setup/02-packages.sh b/rootfs/root/docker/setup/02-packages.sh index 3553dbc..9608d17 100755 --- a/rootfs/root/docker/setup/02-packages.sh +++ b/rootfs/root/docker/setup/02-packages.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:28 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:57 AM EDT 2026 # @@File : 02-packages.sh # @@Description : script to run packages # @@Changelog : newScript diff --git a/rootfs/root/docker/setup/03-files.sh b/rootfs/root/docker/setup/03-files.sh index 258cdec..8fb6978 100755 --- a/rootfs/root/docker/setup/03-files.sh +++ b/rootfs/root/docker/setup/03-files.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:28 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:57 AM EDT 2026 # @@File : 03-files.sh # @@Description : script to run files # @@Changelog : newScript diff --git a/rootfs/root/docker/setup/04-users.sh b/rootfs/root/docker/setup/04-users.sh index 0cef87c..9b80066 100755 --- a/rootfs/root/docker/setup/04-users.sh +++ b/rootfs/root/docker/setup/04-users.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:29 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:57 AM EDT 2026 # @@File : 04-users.sh # @@Description : script to run users # @@Changelog : newScript diff --git a/rootfs/root/docker/setup/05-custom.sh b/rootfs/root/docker/setup/05-custom.sh index 224c87f..8e72400 100755 --- a/rootfs/root/docker/setup/05-custom.sh +++ b/rootfs/root/docker/setup/05-custom.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:29 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:58 AM EDT 2026 # @@File : 05-custom.sh # @@Description : script to run custom # @@Changelog : newScript diff --git a/rootfs/root/docker/setup/06-post.sh b/rootfs/root/docker/setup/06-post.sh index 2a95835..256793a 100755 --- a/rootfs/root/docker/setup/06-post.sh +++ b/rootfs/root/docker/setup/06-post.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:29 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:58 AM EDT 2026 # @@File : 06-post.sh # @@Description : script to run post # @@Changelog : newScript diff --git a/rootfs/root/docker/setup/07-cleanup.sh b/rootfs/root/docker/setup/07-cleanup.sh index a8aaeee..2de08d6 100755 --- a/rootfs/root/docker/setup/07-cleanup.sh +++ b/rootfs/root/docker/setup/07-cleanup.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # shellcheck shell=bash # - - - - - - - - - - - - - - - - - - - - - - - - - -##@Version : 202607112314-git +##@Version : 202607130230-git # @@Author : CasjaysDev # @@Contact : CasjaysDev # @@License : WTFPL # @@Copyright : Copyright 2026 CasjaysDev -# @@Created : Sat Jul 11 11:14:30 PM EDT 2026 +# @@Created : Mon Jul 13 02:30:58 AM EDT 2026 # @@File : 07-cleanup.sh # @@Description : script to run cleanup # @@Changelog : newScript diff --git a/rootfs/usr/local/bin/entrypoint.sh b/rootfs/usr/local/bin/entrypoint.sh index 3a5db29..26a76b9 100755 --- a/rootfs/usr/local/bin/entrypoint.sh +++ b/rootfs/usr/local/bin/entrypoint.sh @@ -7,7 +7,7 @@ # @@License : WTFPL # @@ReadME : entrypoint.sh --help # @@Copyright : Copyright: (c) 2026 Jason Hempstead, Casjays Developments -# @@Created : Saturday, Jul 11, 2026 23:13 EDT +# @@Created : Monday, Jul 13, 2026 02:30 EDT # @@File : entrypoint.sh # @@Description : Entrypoint file for go # @@Changelog : New script