Commit Graph
51 Commits
Author SHA1 Message Date
casjay 059c6466d5 🗃️ Update codebase 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-08-02 20:43:49 -04:00
casjay f9fd6f707e 🐛 Fix entrypoint hang and lost-interpreter bugs 🐛
- 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:22:45 -04:00
casjay 7cbb49d208 📝 Migrate /var/lib/srv docker paths to /srv in README 📝
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:16:16 -04:00
casjay 8455f1e60a 🗃️ Update codebase 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-06-26 23:51:08 -04:00
casjay 4e387be169 🗃️ Update codebase 🗃️
rootfs/usr/local/bin/entrypoint.sh
2026-06-26 23:42:23 -04:00
casjay 25c27c1529 🗃️ Update codebase 🗃️
rootfs/usr/local/bin/entrypoint.sh
2026-06-26 23:36:11 -04:00
casjay 23fac29165 🐛 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:44:23 -04:00
casjay 428bce6e4d 🔧 Update codebase 🔧
rootfs/.gitea/workflows/docker.yaml
2026-06-17 16:20:19 -04:00
casjay 7ec99ef1e3 🐛 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:33:53 -04:00
casjay aa2aaad00b 🐛 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:34:48 -04:00
casjay 72bd7b6dce ♻️ Migrate nodejs to /config/ source-of-truth architecture ♻️
Migrate nodejs 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/mongodb
rootfs/usr/local/etc/docker/init.d/nodejs
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:47:01 -04:00
casjay 98c0186df9 🗃️ Updated the functions file 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-05-24 12:27:15 -04:00
casjay a79bba4376 🗃️ 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:07:40 -04:00
casjay b958b61840 🗃️ 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/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:12:21 -04:00
casjay d7175f4972 ...🗃️ Add Node 24 variant; switch base from casjaysdev/debian to debian:...
- Add Dockerfile.24 and matching .env.scripts.24.
- Refresh per-version env scripts: .env.scripts.18, .env.scripts.20,
.env.scripts.22, .env.scripts.23.
- Update primary Dockerfile and Dockerfile.{18,20,22,23}: switch base
image PULL_URL from casjaysdev/debian to debian (DISTRO_VERSION
bookworm) and add MONGODB_VERSION=7.0 build arg.
- Add init.d entries: rootfs/usr/local/etc/docker/init.d/{mongodb,
nodejs}.
- Refresh
rootfs/usr/local/share/template-files/config/env/examples/mongodb.sh.

Dockerfile
Dockerfile.18
Dockerfile.20
Dockerfile.22
Dockerfile.23
Dockerfile.24
.env.scripts
.env.scripts.18
.env.scripts.20
.env.scripts.22
.env.scripts.23
.env.scripts.24
rootfs/usr/local/etc/docker/init.d/
rootfs/usr/local/share/template-files/config/env/examples/mongodb.sh
2026-04-26 00:53:05 -04:00
casjay fa84909484 🗃️ Update codebase 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-30 16:25:50 -05:00
casjay 8c277646f9 📝 Refactor: Improvements to entrypoint.sh script 📝
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-30 16:04:45 -05:00
casjay 34e511b6f0 🗃️ 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:37:03 -05:00
casjay c158dc7030 🗃️ Updated Dockerfile* and .env.scripts* 🗃️
Dockerfile
Dockerfile.18
Dockerfile.20
Dockerfile.22
Dockerfile.23
.gitea/workflows/docker-18.yaml
.gitea/workflows/docker.18.yaml
.gitea/workflows/docker-20.yaml
.gitea/workflows/docker.20.yaml
.gitea/workflows/docker-22.yaml
.gitea/workflows/docker.22.yaml
.gitea/workflows/docker-23.yaml
.gitea/workflows/docker.23.yaml
.gitea/workflows/docker.yaml
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-11-29 11:04:39 -05:00
casjay 0fd02afffb 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-09-20 06:39:37 -04:00
casjay f650d7a408 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-09-20 05:27:51 -04:00
casjay 256354bf81 🗃️ Committing everything that changed 🗃️
Dockerfile
Dockerfile.10
Dockerfile.12
Dockerfile.14
Dockerfile.16
Dockerfile.18
Dockerfile.20
.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
2025-09-16 19:38:00 -04:00
casjay 19966549d3 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-09-16 09:10:29 -04:00
casjay f147c736bc 🗃️ Committing everything that changed 🗃️
Jenkinsfile
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/
2025-09-05 13:36:21 -04:00
casjay a5208c63be 🗃️ Committing everything that changed 🗃️
Dockerfile
Dockerfile.10
Dockerfile.12
Dockerfile.14
Dockerfile.16
Dockerfile.18
Dockerfile.20
.env.scripts
rootfs/usr/local/share/template-files/config/env/default.sample
2025-02-03 15:19:56 -05:00
casjay d0b5962d0a 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-01-10 23:16:47 -05:00
casjay 100fa0d396 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-09-24 11:03:46 -04:00
casjay 5c42a23930 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 16:38:36 -04:00
casjay e97eb19c17 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 15:38:31 -04:00
casjay 14b2b67df8 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 15:05:55 -04:00
casjay 1c42a7936b 🗃️ Committing everything that changed 🗃️
Dockerfile
Dockerfile.10
Dockerfile.12
Dockerfile.14
Dockerfile.16
Dockerfile.18
Dockerfile.20
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-08-01 14:56:07 -04:00
casjay 0a5449ab0d 🗃️ Fixed: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃️
Dockerfile
Dockerfile.10
Dockerfile.12
Dockerfile.14
Dockerfile.16
Dockerfile.18
Dockerfile.20
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-31 12:30:24 -04:00
casjay 992bad8d34 🗃️ Fixed: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-29 18:25:37 -04:00
casjay a5a21a7408 🗃️ Fixed: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃️
Dockerfile
Dockerfile.10
Dockerfile.12
Dockerfile.14
Dockerfile.16
Dockerfile.18
Dockerfile.20
.gitea/
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-29 17:58:03 -04:00
casjay 270c69c21c 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-14 20:07:33 -04:00
casjay 03a5331a98 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-14 18:47:45 -04:00
casjay bea605653c 🗃 Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh 🗃
Modified: rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-07-14 10:46:11 -04:00
casjay 219d07d8f5 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
2023-09-04 17:02:15 -04:00
casjay 0d426547c3 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-04 01:33:10 -04:00
casjay 867e6d94d2 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-04 00:33:09 -04:00
casjay b4a1c46d54 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 23:57:06 -04:00
casjay 802910d5ac 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 23:34:49 -04:00
casjay a83698ef38 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 22:30:56 -04:00
casjay 4d6e09a4f1 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
2023-09-03 22:28:49 -04:00
casjay c3fd05b4f8 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 20:17:22 -04:00
casjay 9390038c7d 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 19:25:07 -04:00
casjay 097a972068 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 19:20:27 -04:00
casjay b1449bff6c 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 18:41:24 -04:00
casjay a61a5fccb0 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 16:49:19 -04:00
casjay 6e5e2562e7 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2023-09-03 16:04:23 -04:00