🐛 Fix org URLs, dead template-file vars, and Dockerfile.3.14/.3.15 build bug 🐛
Build and Push 3.14 / build (push) Has been cancelled
Build and Push 3.15 / build (push) Has been cancelled
Build and Push 3.16 / build (push) Has been cancelled
Build and Push 3.17 / build (push) Has been cancelled
Build and Push 3.18 / build (push) Has been cancelled
Build and Push 3.19 / build (push) Has been cancelled
Build and Push 3.20 / build (push) Has been cancelled
Build and Push 3.21 / build (push) Has been cancelled
Build and Push 3.22 / build (push) Has been cancelled
Build and Push 3.23 / build (push) Has been cancelled
Build and Push edge / build (push) Has been cancelled
Build and Push / build (push) Has been cancelled

Ran the full AI.md sync runbook (gen-dockerfile --update, rootfs regeneration,
dead-variable audit) to bring generated files back in line with the template
and fix a build-breaking bug.
- .env.scripts, .env.scripts.3.14-3.23, .env.scripts.edge, .env.scripts.testing:
fixed ENV_GIT_REPO_URL from the wrong "casjaysdevdocker" org to the correct
"dockersrc" GitHub org; corrected License header from stale MIT to WTFPL
(matches LICENSE.md); removed deprecated DEFAULT_FILE_DIR/DEFAULT_DATA_DIR/
DEFAULT_CONF_DIR/DEFAULT_TEMPLATE_DIR vars; refreshed version/date stamps.
- Dockerfile.3.14-3.22, Dockerfile.edge: fixed LABEL org.opencontainers.image.url
and .source to point at docker.io/casjaysdev/alpine (was hub.docker.com,
registry org is casjaysdev per explicit instruction; GitHub org is dockersrc).
- Dockerfile.3.14: restored the three missing ARG DEFAULT_DATA_DIR/CONF_DIR/
TEMPLATE_DIR declarations (global + both build-stage re-declarations) that
had been dropped, leaving the "RUN mkdir -p ..." step referencing undefined
ARGs. With SHELL_OPTS="set -e -o pipefail" this caused `mkdir -p ""` to fail
the build outright. Verified fixed with a full `docker build` of this file.
- Dockerfile.3.15: same bug — was missing all three ARG DEFAULT_* blocks
(global declarations plus one of the two build-stage re-declarations).
Restored to match the structure of Dockerfile.3.16-3.22/edge exactly.
Verified fixed with a full `docker build` of this file.
- rootfs/root/docker/setup/00-init.sh through 07-cleanup.sh: regenerated from
the current template — license header fix, `set -o pipefail` -> `set -eo
pipefail`, and 00-init.sh/03-files.sh no longer reference the removed
template-files data/config/defaults directories.
- rootfs/usr/local/bin/entrypoint.sh: regenerated from the current template —
license/date stamp refresh, `return` -> `return 0`, `grep` calls hardened
with `--` before pattern arguments, and MTA setup no longer force-succeeds
with `|| true`.
Confirmed via `hadolint` (no new errors, only pre-existing DL3007 latest-tag
warnings shared across the whole Dockerfile fleet) and `sh -n`/`bash -n` on
every touched script (clean). No init.d scripts exist in this repo (Step 4 of
AI.md's runbook not applicable). rootfs directory layout already standard
(Step 7 not applicable — no non-standard top-level dirs found).

Dockerfile.3.14
Dockerfile.3.15
Dockerfile.3.16
Dockerfile.3.17
Dockerfile.3.18
Dockerfile.3.19
Dockerfile.3.20
Dockerfile.3.21
Dockerfile.3.22
Dockerfile.edge
.env.scripts
.env.scripts.3.14
.env.scripts.3.15
.env.scripts.3.16
.env.scripts.3.17
.env.scripts.3.18
.env.scripts.3.19
.env.scripts.3.20
.env.scripts.3.21
.env.scripts.3.22
.env.scripts.3.23
.env.scripts.edge
.env.scripts.testing
rootfs/root/docker/setup/00-init.sh
rootfs/root/docker/setup/01-system.sh
rootfs/root/docker/setup/02-packages.sh
rootfs/root/docker/setup/03-files.sh
rootfs/root/docker/setup/04-users.sh
rootfs/root/docker/setup/05-custom.sh
rootfs/root/docker/setup/06-post.sh
rootfs/root/docker/setup/07-cleanup.sh
rootfs/usr/local/bin/entrypoint.sh
This commit is contained in:
2026-07-08 20:26:23 -04:00
parent 2ac0e27dfa
commit de4d00b504
32 changed files with 134 additions and 170 deletions
+9 -9
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env bash
# shellcheck shell=bash
# - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : 202606261500-git
##@Version : 202606272100-git
# @@Author : Jason Hempstead
# @@Contact : jason@casjaysdev.pro
# @@License : WTFPL
# @@ReadME : entrypoint.sh --help
# @@Copyright : Copyright: (c) 2026 Jason Hempstead, Casjays Developments
# @@Created : Friday, Jun 05, 2026 18:22 EDT
# @@Created : Wednesday, Jul 08, 2026 18:59 EDT
# @@File : entrypoint.sh
# @@Description : Entrypoint file for alpine
# @@Changelog : New script
@@ -123,7 +123,7 @@ export PATH RUNAS_USER SERVICE_USER SERVICE_GROUP SERVICE_UID SERVICE_GID WWW_RO
# show message
__run_message() {
return
return 0
}
# - - - - - - - - - - - - - - - - - - - - - - - - -
################## END OF CONFIGURATION #####################
@@ -370,7 +370,7 @@ if [ "$ENTRYPOINT_FIRST_RUN" != "no" ]; then
# - - - - - - - - - - - - - - - - - - - - - - - - -
# import hosts file into container
if [ -f "/usr/local/etc/hosts" ] && [ "$UPDATE_FILE_HOSTS" = "yes" ]; then
grep -vF "$HOSTNAME" "/usr/local/etc/hosts" 2>/dev/null >>"/etc/hosts" || true
grep -vF -- "$HOSTNAME" "/usr/local/etc/hosts" 2>/dev/null >>"/etc/hosts" || true
fi
# - - - - - - - - - - - - - - - - - - - - - - - - -
# import resolv.conf file into container
@@ -422,8 +422,8 @@ if [ "$ENTRYPOINT_FIRST_RUN" != "no" ] || [ "$CONFIG_DIR_INITIALIZED" = "no" ] |
echo "Initialized on: $INIT_DATE" >"$ENTRYPOINT_INIT_FILE" 2>/dev/null || true
fi
# - - - - - - - - - - - - - - - - - - - - - - - - -
# setup the smtp server — non-fatal; this image does not use ssmtp
__setup_mta || true
# setup the smtp server
__setup_mta
# - - - - - - - - - - - - - - - - - - - - - - - - -
ENTRYPOINT_FIRST_RUN="no"
fi
@@ -576,7 +576,7 @@ healthcheck)
services+="$name "
done
fi
services="$(printf '%s\n' $services | sort -u | grep -v '^$')"
services="$(printf '%s\n' $services | sort -u | grep -v -- '^$')"
for proc in $services; do
if [ -n "$proc" ]; then
if ! __pgrep "$proc"; then
@@ -587,7 +587,7 @@ healthcheck)
done
for port in $healthPorts; do
if command -v netstat &>/dev/null && [ -n "$port" ]; then
if ! netstat -taupln | grep -q ":$port "; then
if ! netstat -taupln | grep -q -- ":$port "; then
echo "$port isn't open" >&2
healthStatus=$((healthStatus + 1))
fi
@@ -617,7 +617,7 @@ ports)
# show running processes
procs)
shift 1
ps="$(__ps axco command 2>/dev/null | grep -vE '^(COMMAND|grep|ps)$' | sort -u)"
ps="$(__ps axco command 2>/dev/null | grep -vE -- '^(COMMAND|grep|ps)$' | sort -u)"
[ -n "$ps" ] && printf '%s\n%s\n' "Found the following processes" "$ps" | tr '\n' ' '
exit $?
;;