Ran the AI.md template-update runbook: synced .env.scripts and
Dockerfile ARGs to the current template, regenerated entrypoint.sh
and setup/*.sh from the template, then cleaned up now-dead
DEFAULT_FILE_DIR/DATA_DIR/CONF_DIR/TEMPLATE_DIR references left in
the Dockerfile after the template-files concept was retired.
- .env.scripts: dropped DEFAULT_FILE_DIR/DATA_DIR/CONF_DIR/TEMPLATE_DIR,
ssmtp -> msmtp, license MIT -> WTFPL, ENV_PULL_URL value updated
- Dockerfile: removed now-unused DEFAULT_FILE_DIR/DATA_DIR/CONF_DIR/
TEMPLATE_DIR ARG declarations (3 stages) and the mkdir referencing
them; PACK_LIST ssmtp -> msmtp
- rootfs/usr/local/bin/entrypoint.sh: regenerated from template —
CONTAINER_NAME set to "rust", safer grep -- usage, exec/shell
argument handling fixed to not swallow args when none given
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: regenerated
from template
- rootfs/root/docker/setup/00-init.sh: regenerated; dropped dead
template-files cleanup block
- rootfs/root/docker/setup/01-system.sh: regenerated (boilerplate only)
- rootfs/root/docker/setup/02-packages.sh: regenerated (boilerplate only)
- rootfs/root/docker/setup/03-files.sh: regenerated — dropped
template-files mirroring, added /tmp/usr handling
- rootfs/root/docker/setup/04-users.sh: regenerated (boilerplate only)
- rootfs/root/docker/setup/06-post.sh: regenerated (boilerplate only)
- rootfs/root/docker/setup/07-cleanup.sh: regenerated (boilerplate only)
Note: rootfs/root/docker/setup/05-custom.sh was NOT regenerated —
it holds hand-written Rust toolchain install logic, not template
boilerplate; the runbook's blind regenerate would have destroyed it.
__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
Stale copies called __initialize_default_templates, __initialize_config_dir,
and __initialize_data_dir which are not in the old functions library,
causing container startup failures. Replaced with current template
versions (202606041210-git) which no longer call those missing functions.
- rootfs/usr/local/bin/entrypoint.sh: update to current template
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: update to current template
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
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
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.
Dockerfile
.env.scripts
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/etc/docker/init.d/00-rust.sh
rootfs/usr/local/share/template-files/config/env/default.sample
rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh