42 Commits
Author SHA1 Message Date
jason 0d23ef1dcd 🗃️ Update codebase 🗃️
code / release-code (push) Failing after 3m44s
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-08-02 20:42:41 -04:00
jason 8e8bdb0c2f 🐛 Fix entrypoint hang and lost-interpreter bugs 🐛
code / release-code (push) Failing after 1m59s
- rootfs/usr/local/bin/entrypoint.sh:
  1. The "start all services" gate
     (`if [ "$START_SERVICES" = "yes" ] || [ -z "$1" ]`) always evaluated
     true on a first-run container regardless of $1, because
     START_SERVICES is force-set to "yes" whenever no PID file exists yet.
     Any command passed to `docker run` — `exec ...`, `sh -c ...`,
     `shell`, or an arbitrary program — was swallowed into the
     service-start+monitor branch before reaching the `case "$1"`
     statement that already handles those subcommands, hanging the
     container as a daemon instead of running the given command. Changed
     the condition to `if [ -z "$1" ]` so the daemon branch only fires
     when no command was given at all.
  2. The `*/bin/sh | */bin/bash | bash | sh | shell)` case branch
     unconditionally shifted $1 before `__exec_command "$@"` (a bare
     `exec "$@"`). For `docker run image sh -c 'cmd'` this turned the
     exec into `exec -c cmd` (command not found, exit 127) instead of
     `exec sh -c 'cmd'`. Split the branch: real interpreter names
     (*/bin/sh, */bin/bash, bash, sh) now pass through unshifted; the
     "shell" keyword (not a real interpreter) gets its own branch that
     shifts and prepends "sh" to any remaining args, or falls back to a
     bare `__exec_command` (exec bash -l) when none remain.
  Verified `bash -n` passes. Found and fixed upstream in
  dockersrc/go, confirmed identical in this repo's generated
  entrypoint.sh, and mechanically applied here with the same patch.
2026-07-27 23:13:58 -04:00
jason 73dbfec83b 📝 Migrate /var/lib/srv docker paths to /srv in README 📝
code / release-code (push) Has been cancelled
Update volume mount examples and dockerHome variable from
the old /var/lib/srv/$USER/docker layout to /srv/$USER/docker.
- README.md: update volume path references to /srv/$USER/docker

README.md
rootfs/usr/local/bin/copy
rootfs/usr/local/bin/healthcheck
rootfs/usr/local/bin/symlink
2026-07-10 12:11:35 -04:00
jason 74227041ac 🗃️ Update codebase 🗃️
code / release-code (push) Failing after 2m14s
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-06-26 23:49:37 -04:00
jason 7076a3441d 🐛 Remove stale local function definitions from init.d script 🐛
code / release-code (push) Failing after 14m8s
__pcheck and __pgrep were locally defined in init.d scripts before
they were added to the shared docker-entrypoint functions library.
These local copies shadow the improved library versions and prevent
library updates from taking effect.
- rootfs/usr/local/etc/docker/init.d/zz-code.sh: remove stale local __pcheck/__pgrep definitions and their intro comments; defer to shared library

rootfs/usr/local/etc/docker/init.d/zz-code.sh
2026-06-26 18:48:50 -04:00
jason e7922091dd 🐛 Fix duplicate 2>/dev/null in entrypoint.sh /etc/hosts line 🐛
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:42:36 -04:00
jason 2a773c980a 🐛 Update entrypoint.sh and functions library from current template 🐛
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
2026-06-05 18:24:34 -04:00
jason c1e68c9efc 🐛 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:32:10 -04:00
jason f7658eb721 🐛 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:33:07 -04:00
jason 17f9c5ecfe ♻️ Migrate code to /config/ source-of-truth architecture ♻️
Migrate code Docker image to the new build-time config architecture.
- rootfs/root/docker/setup/03-files.sh: rewrite to canonical form with /tmp/bin, /tmp/var, /tmp/etc, /tmp/usr handlers; remove template-files copy block
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: update to latest template with __init_service_conf, __find_php_ini, __find_php_bin helpers
- rootfs/usr/local/etc/docker/init.d/*.sh: fix $(basename) UUOC → ${var##*/}; move inline comments above code lines; remove commented-out dead code
- rootfs/usr/local/share/template-files/: delete entire directory; config files now deployed via /tmp/etc/ at build time

rootfs/root/docker/setup/03-files.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/etc/docker/init.d/zz-code.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-06-04 14:36:43 -04:00
jason e244ce2bc6 🗃️ Updated the functions file 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-05-24 12:26:34 -04:00
jason 5152fbba8c 🗃️ Removed the .claude/settings.local.json 🗃️
Dockerfile
.env.scripts
.gitattributes
.gitea/workflows/docker.yaml
.gitignore
LICENSE.md
README.md
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/bin/pkmgr
2026-05-12 20:05:59 -04:00
jason 45ccd48232 🗃️ 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/entrypoint.sh
rootfs/usr/local/etc/docker/env/default.sample
rootfs/usr/local/etc/docker/env/zz-entrypoint.sh
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:11:24 -04:00
jason 235e52b1bb 🗃️ Update codebase 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-30 16:25:19 -05:00
jason 2fe289285f 🐳 Enhancement: Docker entrypoint script modifications 🐳
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-30 16:00:33 -05:00
jason cd5d839aa6 🗃️ Fixed the entrypoint scripts 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/share/template-files/config/env/default.sample
2025-11-29 12:36:35 -05:00
jason f266af2978 🗃️ Updated Dockerfile* and .env.scripts* 🗃️
Dockerfile
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-29 11:04:08 -05:00
jason 87d299b755 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/etc/docker/init.d/zz-code.sh
2025-09-20 06:38:56 -04:00
jason 282560af53 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-09-20 05:27:16 -04:00
jason 8f58a52718 🗃️ Committing everything that changed 🗃️
Dockerfile
.env.scripts
.gitattributes
.gitignore
rootfs/.gitea/
rootfs/root/
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/
2025-09-16 19:36:59 -04:00
jason f359fa5f74 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-09-16 09:09:29 -04:00
jason e9daab9643 🗃️ Committing everything that changed 🗃️
Jenkinsfile
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/
2025-09-05 13:35:17 -04:00
jason a1b01f5937 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-01-10 23:16:06 -05:00
jason 875a87c1bc 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-09-24 11:03:11 -04:00
jason 0b9440209a 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 16:35:07 -04:00
jason 14188e1717 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 15:37:49 -04:00
jason cde922f674 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 15:01:20 -04:00
jason 39c4703328 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 14:52:16 -04:00
jason 3823fa218f 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 14:47:35 -04:00
jason 15f5e55390 🗃️ Fixed: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-31 12:27:02 -04:00
jason ee2ff79e9b 🗃️ Fixed: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-29 18:22:17 -04:00
jason 06eac9e0a4 🗃️ Fixed: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃️
Dockerfile
.gitea/
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-29 17:54:42 -04:00
jason 21446cb795 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-14 20:03:45 -04:00
jason a467648d41 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-14 18:44:32 -04:00
jason abc326412c 🗃 Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃
Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-14 10:43:22 -04:00
casjay b1c5a13483 🗃️ Updated domain names 🗃️
Dockerfile
LICENSE.md
rootfs/usr/local/bin/entrypoint.sh
2023-08-10 19:54:25 -04:00
casjay afaae08886 🗃️ Committing everything that changed 🗃️ 2023-03-27 11:44:56 -04:00
casjay d4b422ebb5 🗃️ Committing everything that changed 🗃️ 2023-03-16 19:24:00 -04:00
casjay 4c1c9ba155 🗃️ Committing everything that changed 🗃️ 2022-10-20 17:47:30 -04:00
casjay f9178ef2dc 🗃️ Committing everything that changed 🗃️ 2022-10-20 17:28:10 -04:00
casjay 33e4aeea6a 🗃️ Committing everything that changed 🗃️ 2022-10-17 11:57:03 -04:00
casjay 436a94f6da 🗃️ Committing everything that changed 🗃️ 2022-10-17 11:28:57 -04:00