jason
a75575915d
🐛 Fix __exec_command dropping all arguments after the first 🐛
...
Build and Push 10-dev / build (push) Has been cancelled
Build and Push 10 / build (push) Has been cancelled
Build and Push 8-dev / build (push) Has been cancelled
Build and Push 8 / build (push) Has been cancelled
Build and Push 9-dev / build (push) Has been cancelled
Build and Push 9 / build (push) Has been cancelled
Build and Push / build (push) Has been cancelled
__exec_command was using ${arg:-} which only captured the first element
of the args array, then ran it through "$shell" $pre_exec "$cmdExec"
which effectively discarded everything after $1.
Running `docker run image sh -c 'go build ...'` would:
1. Set arg=("sh" "-c" "go build ...")
2. Set cmdExec="sh" (only first element)
3. Run bash --login -c "sh" (dropping -c and the actual command)
This broke any Makefile GO_DOCKER pattern that relied on passing multi-arg
commands. Simplified to just `exec "$@"` which passes all args through.
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: rewrite __exec_command
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-06-29 00:47:19 -04:00
jason
394b9cfddf
🐛 Fix entrypoint crash on __setup_mta ssmtp failure 🐛
...
Build and Push 10-dev / build (push) Failing after 2s
Build and Push 10 / build (push) Failing after 1s
Build and Push 8-dev / build (push) Failing after 2s
Build and Push 8 / build (push) Failing after 2s
Build and Push 9-dev / build (push) Failing after 2s
Build and Push 9 / build (push) Failing after 2s
Build and Push / build (push) Failing after 1s
__setup_mta calls __find_replace on /etc/ssmtp/revaliases which returns
1 when the symlink it creates is broken. With set -o pipefail active the
non-zero return kills the entire entrypoint before any command can run.
ssmtp is not installed in this image and email delivery is not a feature
of this image, so the MTA setup failure is irrelevant. Guard the call
with || true so initialization continues regardless.
- rootfs/usr/local/bin/entrypoint.sh: __setup_mta || true (non-fatal)
rootfs/usr/local/bin/entrypoint.sh
2026-06-27 19:19:25 -04:00
jason
ebc90141de
🗃️ Update codebase 🗃️
...
Build and Push 10-dev / build (push) Failing after 1s
Build and Push 10 / build (push) Failing after 3s
Build and Push 8-dev / build (push) Failing after 4s
Build and Push 8 / build (push) Failing after 4s
Build and Push 9-dev / build (push) Failing after 7s
Build and Push 9 / build (push) Failing after 8s
Build and Push / build (push) Failing after 1s
rootfs/usr/local/bin/entrypoint.sh
2026-06-26 23:33:39 -04:00
jason
74dfe00eb0
🐛 Fix duplicate 2>/dev/null in entrypoint.sh /etc/hosts line 🐛
...
Build and Push / build (push) Failing after 13m32s
Build and Push 9 / build (push) Failing after 13m44s
Build and Push 9-dev / build (push) Failing after 13m54s
Build and Push 8 / build (push) Failing after 13m55s
Build and Push 8-dev / build (push) Failing after 14m14s
Build and Push 10 / build (push) Failing after 14m25s
Build and Push 10-dev / build (push) Failing after 14m33s
The grep -vF line that appends /usr/local/etc/hosts entries had a
duplicate 2>/dev/null redirect after the append operator, which is
a no-op but clutters the script. Synced from template.
- rootfs/usr/local/bin/entrypoint.sh: remove duplicate 2>/dev/null
from grep -vF /etc/hosts append line; bump version to 202606261500-git
rootfs/usr/local/bin/entrypoint.sh
2026-06-26 18:37:41 -04:00
jason
f512c1b7b2
🗃 Modified: rootfs/usr/local/etc/resolv.conf 🗃
...
Modified: rootfs/usr/local/etc/resolv.conf
2026-06-26 15:45:41 -04:00
jason
08bef0b31d
🗃 Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃
...
Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-06-26 15:45:41 -04:00
jason
4429a1f970
🗃️ Update codebase 🗃️
...
almalinux/
2026-06-10 14:17:18 -04:00
jason
482f1e6cdb
🐛 Fix resolv.conf: add search . and ndots:0 to block domain search 🐛
...
--domainname on the container sets the kernel domainname, which c-ares
uses to infer a search domain even when /etc/resolv.conf has no search
line. This caused c-ares to query github.com.casjay.work AAAA and get
the host's own IPv6 address, routing all outbound HTTPS to the local
nginx instead of the real server.
Adding 'search .' and 'options ndots:0' explicitly disables search
domain inference regardless of the kernel domainname setting.
- rootfs/usr/local/etc/resolv.conf: add search . and options ndots:0
rootfs/usr/local/etc/resolv.conf
2026-06-05 14:36:05 -04:00
jason
9c41f2ee57
🐛 Fix container DNS: ship resolv.conf without search domain 🐛
...
Hosts with a search domain cause containers to inherit it. When the
zone has a wildcard AAAA record, public hostnames resolve to the host's
own IPv6 address instead of the real server, breaking all outbound
HTTPS and DNS from inside the container.
The entrypoint already has a hook: if /usr/local/etc/resolv.conf
exists it replaces /etc/resolv.conf at container startup. Ship a
clean resolv.conf with Cloudflare + Google DNS and no search domain
so container DNS is always correct regardless of host configuration.
- rootfs/usr/local/etc/resolv.conf: new file — clean DNS, no search domain
rootfs/usr/local/etc/resolv.conf
2026-06-05 12:36:58 -04:00
jason
a73b17912b
🔧 Add Gitea Actions workflow files 🔧
...
Generate .gitea/workflows/build*.yml from updated actions.template:
latest build uses yymm + latest tags (latest pushed last); versioned
builds hardcode the version tag.
?? .gitea/
.gitea/
2026-06-04 16:26:17 -04:00
jason
e6444c8e9e
🔧 Deleted workflow files 🔧
...
.gitea/workflows/docker.10-dev.yaml
.gitea/workflows/docker.10.yaml
.gitea/workflows/docker.8-dev.yaml
.gitea/workflows/docker.8.yaml
.gitea/workflows/docker.9-dev.yaml
.gitea/workflows/docker.9.yaml
.gitea/workflows/docker.yaml
.github/workflows/docker.10-dev.yaml
.github/workflows/docker.10.yaml
.github/workflows/docker.8-dev.yaml
.github/workflows/docker.8.yaml
.github/workflows/docker.9-dev.yaml
.github/workflows/docker.9.yaml
.github/workflows/docker.yaml
2026-06-04 16:21:45 -04:00
jason
d1e07ea4da
🔧 Update docker functions/entrypoint.sh to latest 🔧
...
Synced from casjay-dotfiles templates. Updated functions now check
for existence before copying template-files directories, skipping
gracefully when they are absent.
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: updated to latest
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-06-04 11:51:56 -04:00
jason
b12b9cca24
🗑️ Remove unused template-files from rootfs 🗑️
...
The init framework now checks for existence before copying; empty
placeholder directories are no longer needed in the image layer.
- rootfs/usr/local/share/template-files/: removed entirely
rootfs/usr/local/share/template-files/config/env/default.sample
rootfs/usr/local/share/template-files/config/env/examples/00-directory.sh
rootfs/usr/local/share/template-files/config/env/examples/addresses.sh
rootfs/usr/local/share/template-files/config/env/examples/certbot.sh
rootfs/usr/local/share/template-files/config/env/examples/couchdb.sh
rootfs/usr/local/share/template-files/config/env/examples/dockerd.sh
rootfs/usr/local/share/template-files/config/env/examples/global.sh
rootfs/usr/local/share/template-files/config/env/examples/healthcheck.sh
rootfs/usr/local/share/template-files/config/env/examples/mariadb.sh
rootfs/usr/local/share/template-files/config/env/examples/mongodb.sh
rootfs/usr/local/share/template-files/config/env/examples/networking.sh
rootfs/usr/local/share/template-files/config/env/examples/other.sh
rootfs/usr/local/share/template-files/config/env/examples/php.sh
rootfs/usr/local/share/template-files/config/env/examples/postgres.sh
rootfs/usr/local/share/template-files/config/env/examples/redis.sh
rootfs/usr/local/share/template-files/config/env/examples/services.sh
rootfs/usr/local/share/template-files/config/env/examples/ssl.sh
rootfs/usr/local/share/template-files/config/env/examples/supabase.sh
rootfs/usr/local/share/template-files/config/env/examples/webservers.sh
rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh
rootfs/usr/local/share/template-files/config/.gitkeep
rootfs/usr/local/share/template-files/data/.gitkeep
rootfs/usr/local/share/template-files/defaults/.gitkeep
2026-06-04 11:20:52 -04:00
jason
94461d1fe2
🔧 Update scripts, remove certbot, add CA cert update 🔧
...
Update all container scripts to 202605241245-git, remove certbot from
all package lists, and add CA certificate update step after install.
- .env.scripts*: remove certbot from ENV_PACKAGES (all 7 version files)
- Dockerfile*: remove certbot from PACK_LIST (all 7 version Dockerfiles)
- rootfs/root/docker/setup/00-init.sh: updated to latest template
- rootfs/root/docker/setup/01-system.sh: updated to latest template
- rootfs/root/docker/setup/02-packages.sh: add update-ca-trust extract step
- rootfs/root/docker/setup/03-files.sh: updated to latest template
- rootfs/root/docker/setup/04-users.sh: updated to latest template
- rootfs/root/docker/setup/05-custom.sh: updated to latest template
- rootfs/root/docker/setup/06-post.sh: updated to latest template
- rootfs/root/docker/setup/07-cleanup.sh: updated to latest template
- rootfs/usr/local/bin/entrypoint.sh: updated to 202605241245-git
- rootfs/usr/local/bin/pkmgr: updated to 202605241245-git
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: updated to 202605241245-git
Dockerfile
Dockerfile.10
Dockerfile.10-dev
Dockerfile.8
Dockerfile.8-dev
Dockerfile.9
Dockerfile.9-dev
.env.scripts
.env.scripts.10
.env.scripts.10-dev
.env.scripts.8
.env.scripts.8-dev
.env.scripts.9
.env.scripts.9-dev
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
rootfs/usr/local/bin/pkmgr
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-05-24 21:44:59 -04:00
jason
9933eb12e1
🗃️ rootfs: shield internal entrypoint PID files from /run/*.pid sweeps 🗃️
...
Update the embedded entrypoint copies in rootfs/ to match the
upstream template change. Internal state files renamed to dotfiles
so they're not matched by `/run/*.pid` cleanup globs:
- /run/init.d/entrypoint.pid -> /run/.entrypoint.pid
- /run/no_exit.pid -> /run/.no_exit.pid
- /run/backup.pid -> /run/.backup.pid
- /run/__start_init_scripts.pid -> /run/.start_init_scripts.pid
Per-service PIDs in /run/init.d/ are unchanged.
rootfs/usr/local/bin/copy
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/bin/healthcheck
rootfs/usr/local/bin/symlink
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/share/template-files/config/env/default.sample
rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh
2026-05-05 19:13:48 -04:00
jason
dcf0db1167
🔧 Rename dockerfs to rootfs and update build files 🔧
...
- Renamed dockerfs directory to rootfs across setup scripts, entrypoint, and template files
- Updated all Dockerfiles (8, 9, 10 and dev variants) to reflect new rootfs path
- Added new helper utilities copy and symlink under rootfs/usr/local/bin
- Refreshed README.md to align with the renamed directory structure
Dockerfile
Dockerfile.10
Dockerfile.10-dev
Dockerfile.8
Dockerfile.8-dev
Dockerfile.9
Dockerfile.9-dev
dockerfs/root/docker/setup/00-init.sh
dockerfs/root/docker/setup/01-system.sh
dockerfs/root/docker/setup/02-packages.sh
dockerfs/root/docker/setup/03-files.sh
dockerfs/root/docker/setup/04-users.sh
dockerfs/root/docker/setup/05-custom.sh
dockerfs/root/docker/setup/06-post.sh
dockerfs/root/docker/setup/07-cleanup.sh
dockerfs/usr/local/bin/entrypoint.sh
dockerfs/usr/local/bin/pkmgr
dockerfs/usr/local/etc/docker/functions/entrypoint.sh
dockerfs/usr/local/share/template-files/config/env/default.sample
dockerfs/usr/local/share/template-files/config/env/examples/00-directory.sh
dockerfs/usr/local/share/template-files/config/env/examples/addresses.sh
dockerfs/usr/local/share/template-files/config/env/examples/certbot.sh
dockerfs/usr/local/share/template-files/config/env/examples/couchdb.sh
dockerfs/usr/local/share/template-files/config/env/examples/dockerd.sh
dockerfs/usr/local/share/template-files/config/env/examples/global.sh
dockerfs/usr/local/share/template-files/config/env/examples/healthcheck.sh
dockerfs/usr/local/share/template-files/config/env/examples/mariadb.sh
dockerfs/usr/local/share/template-files/config/env/examples/mongodb.sh
dockerfs/usr/local/share/template-files/config/env/examples/networking.sh
dockerfs/usr/local/share/template-files/config/env/examples/other.sh
dockerfs/usr/local/share/template-files/config/env/examples/php.sh
dockerfs/usr/local/share/template-files/config/env/examples/postgres.sh
dockerfs/usr/local/share/template-files/config/env/examples/redis.sh
dockerfs/usr/local/share/template-files/config/env/examples/services.sh
dockerfs/usr/local/share/template-files/config/env/examples/ssl.sh
dockerfs/usr/local/share/template-files/config/env/examples/supabase.sh
dockerfs/usr/local/share/template-files/config/env/examples/webservers.sh
dockerfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh
dockerfs/usr/local/share/template-files/config/.gitkeep
dockerfs/usr/local/share/template-files/data/.gitkeep
dockerfs/usr/local/share/template-files/defaults/.gitkeep
README.md
rootfs/usr/local/bin/copy
rootfs/usr/local/bin/symlink
2026-05-05 14:34:55 -04:00
jason
12c96925ef
🔧 Fix Dockerfile names, PHP version, and CRB repo handling 🔧
...
- Correct ENV_DOCKERFILE references from double-versioned names (8.8-dev, 9.9-dev) to canonical names (8-dev, 9-dev)
- Set PHP_VERSION to 7.4 instead of system default in both 8-dev and 9-dev env scripts
- Rename CRB repo paths and labels to PowerTools equivalents after fetching repo files in Dockerfile.8-dev
Dockerfile.8-dev
.env.scripts.8-dev
.env.scripts.9-dev
2026-05-04 12:51:15 -04:00
jason
c78eb85c46
🗃️ Strip CRB repos before fetching repo files in 8-dev image 🗃️
...
Dockerfile.8-dev: remove any /etc/yum.repos.d/*crb*.repo files before
running fetch-repo-file. The earlier crb removal step ran only after
fetch-repo-file, leaving stale CRB repos in place during the fetch.
Dockerfile.8-dev
2026-04-26 01:05:03 -04:00
jason
563a8b9a7e
🔧 Update codebase 🔧
...
.gitea/workflows/docker.10-dev.yaml
.gitea/workflows/docker.10.yaml
.gitea/workflows/docker.8-dev.yaml
.gitea/workflows/docker.8.yaml
.gitea/workflows/docker.9-dev.yaml
.gitea/workflows/docker.9.yaml
.gitea/workflows/docker.yaml
.github/workflows/docker.10-dev.yaml
.github/workflows/docker.10.yaml
.github/workflows/docker.8-dev.yaml
.github/workflows/docker.8.yaml
.github/workflows/docker.9-dev.yaml
.github/workflows/docker.9.yaml
.github/workflows/docker.yaml
2026-01-29 14:21:37 -05:00
jason
3a13118f60
🔧 Updated workflows 🔧
...
.gitea/workflows/docker.10-dev.yaml
.gitea/workflows/docker.10.yaml
.gitea/workflows/docker.8-dev.yaml
.gitea/workflows/docker.8.yaml
.gitea/workflows/docker.9-dev.yaml
.gitea/workflows/docker.9.yaml
.gitea/workflows/docker.yaml
.github/workflows/docker.10-dev.yaml
.github/workflows/docker.10.yaml
.github/workflows/docker.8-dev.yaml
.github/workflows/docker.8.yaml
.github/workflows/docker.9-dev.yaml
.github/workflows/docker.9.yaml
.github/workflows/docker.yaml
2026-01-16 00:15:53 -05:00
jason
40d0d41781
🗃️ Updated workflows and moved rootfs 🗃️
...
Dockerfile
Dockerfile.10
Dockerfile.10-dev
Dockerfile.8
Dockerfile.8-dev
Dockerfile.9
Dockerfile.9-dev
dockerfs/
.gitea/workflows/docker.10-dev.yaml
.gitea/workflows/docker.10.yaml
.gitea/workflows/docker.8-dev.yaml
.gitea/workflows/docker.8.yaml
.gitea/workflows/docker.9-dev.yaml
.gitea/workflows/docker.9.yaml
.gitea/workflows/docker.yaml
.github/
README.md
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
rootfs/usr/local/bin/pkmgr
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/share/template-files/config/env/default.sample
rootfs/usr/local/share/template-files/config/env/examples/00-directory.sh
rootfs/usr/local/share/template-files/config/env/examples/addresses.sh
rootfs/usr/local/share/template-files/config/env/examples/certbot.sh
rootfs/usr/local/share/template-files/config/env/examples/couchdb.sh
rootfs/usr/local/share/template-files/config/env/examples/dockerd.sh
rootfs/usr/local/share/template-files/config/env/examples/global.sh
rootfs/usr/local/share/template-files/config/env/examples/healthcheck.sh
rootfs/usr/local/share/template-files/config/env/examples/mariadb.sh
rootfs/usr/local/share/template-files/config/env/examples/mongodb.sh
rootfs/usr/local/share/template-files/config/env/examples/networking.sh
rootfs/usr/local/share/template-files/config/env/examples/other.sh
rootfs/usr/local/share/template-files/config/env/examples/php.sh
rootfs/usr/local/share/template-files/config/env/examples/postgres.sh
rootfs/usr/local/share/template-files/config/env/examples/redis.sh
rootfs/usr/local/share/template-files/config/env/examples/services.sh
rootfs/usr/local/share/template-files/config/env/examples/ssl.sh
rootfs/usr/local/share/template-files/config/env/examples/supabase.sh
rootfs/usr/local/share/template-files/config/env/examples/webservers.sh
rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh
rootfs/usr/local/share/template-files/config/.gitkeep
rootfs/usr/local/share/template-files/data/.gitkeep
rootfs/usr/local/share/template-files/defaults/.gitkeep
2026-01-15 23:48:02 -05:00
jason
cce1fe8739
🗃️ Update codebase 🗃️
...
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-30 18:27:25 -05:00
jason
b45152270c
🗃️ Update codebase 🗃️
...
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-30 16:17:32 -05:00
jason
5a9e3fe128
🗃 Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃
...
Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-29 11:55:16 -05:00
jason
4e1c049601
🗃 Modified: rootfs/usr/local/bin/symlink 🗃
...
Modified: rootfs/usr/local/bin/symlink
2025-11-29 11:55:16 -05:00
jason
9b4a79a007
🗃 Modified: rootfs/usr/local/bin/entrypoint.sh 🗃
...
Modified: rootfs/usr/local/bin/entrypoint.sh
2025-11-29 11:55:16 -05:00
jason
a3c594af03
🗃 Modified: rootfs/usr/local/bin/copy 🗃
...
Modified: rootfs/usr/local/bin/copy
2025-11-29 11:55:16 -05:00
jason
e615926d2c
🗃 Modified: rootfs/root/docker/setup/07-cleanup.sh 🗃
...
Modified: rootfs/root/docker/setup/07-cleanup.sh
2025-11-29 11:55:16 -05:00
jason
dba6687268
🗃 Modified: rootfs/root/docker/setup/06-post.sh 🗃
...
Modified: rootfs/root/docker/setup/06-post.sh
2025-11-29 11:55:16 -05:00
jason
9be84c1ca1
🗃 Modified: rootfs/root/docker/setup/05-custom.sh 🗃
...
Modified: rootfs/root/docker/setup/05-custom.sh
2025-11-29 11:55:15 -05:00
jason
94174cde87
🗃 Modified: rootfs/root/docker/setup/04-users.sh 🗃
...
Modified: rootfs/root/docker/setup/04-users.sh
2025-11-29 11:55:15 -05:00
jason
254cff1847
🗃 Modified: rootfs/root/docker/setup/03-files.sh 🗃
...
Modified: rootfs/root/docker/setup/03-files.sh
2025-11-29 11:55:15 -05:00
jason
f60c69f230
🗃 Modified: rootfs/root/docker/setup/02-packages.sh 🗃
...
Modified: rootfs/root/docker/setup/02-packages.sh
2025-11-29 11:55:15 -05:00
jason
f152b32e4d
🗃 Modified: rootfs/root/docker/setup/01-system.sh 🗃
...
Modified: rootfs/root/docker/setup/01-system.sh
2025-11-29 11:55:15 -05:00
jason
b5e1ee3e71
🗃 Modified: rootfs/root/docker/setup/00-init.sh 🗃
...
Modified: rootfs/root/docker/setup/00-init.sh
2025-11-29 11:55:15 -05:00
jason
b05f0a522a
🗃 Modified: .env.scripts 🗃
...
Modified: .env.scripts
2025-11-29 11:55:15 -05:00
jason
5698ea7c97
🗃 Modified: Dockerfile 🗃
...
Modified: Dockerfile
2025-11-29 11:55:14 -05:00
jason
d440c11c81
🦈 🏠 🐜 ❗ Initial Commit ❗ 🐜 🦈 🏠
2025-11-29 11:11:32 -05:00