Commit Graph

105 Commits

Author SHA1 Message Date
jason de8b802985 🐛 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:31:43 -04:00
jason 1b8f901fe1 🐛 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:32:38 -04:00
jason fb5374b07c ♻️ Migrate bind to /config/ source-of-truth architecture ♻️
Migrate bind 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/02-named.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:35:52 -04:00
jason 19d9eaacb7 🗃️ Updated the functions file 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-05-24 12:26:23 -04:00
jason 46903c9a87 🔧 Update configuration files 🔧
Dockerfile
.env.scripts
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/etc/docker/init.d/01-tor.sh
rootfs/usr/local/etc/docker/init.d/02-named.sh
rootfs/usr/local/etc/docker/init.d/03-nginx.sh
rootfs/usr/local/etc/docker/init.d/04-php-fpm.sh
2026-05-18 15:38:24 -04:00
jason 1a11144393 🔧 Update bind init.d scripts: SERVICE_USES_PID and add TEMPLATE.md 🔧
Fix SERVICE_USES_PID in all 4 init.d scripts (was '' empty, must be 'yes'
for long-running daemons). Add TEMPLATE.md documenting the multi-service stack.
No services removed — bind ships tor + named + nginx + php-fpm.
- rootfs/usr/local/etc/docker/init.d/01-tor.sh: SERVICE_USES_PID='' -> 'yes' (tor is a long-running daemon)
- rootfs/usr/local/etc/docker/init.d/02-named.sh: SERVICE_USES_PID='' -> 'yes' (named is a long-running daemon)
- rootfs/usr/local/etc/docker/init.d/03-nginx.sh: SERVICE_USES_PID='' -> 'yes' (nginx is a long-running daemon)
- rootfs/usr/local/etc/docker/init.d/04-php-fpm.sh: SERVICE_USES_PID='' -> 'yes' (php-fpm is a long-running daemon)
- TEMPLATE.md: new file documenting bind service stack (tor, named, nginx, php-fpm), init.d scripts, config files, migration notes

rootfs/usr/local/etc/docker/init.d/01-tor.sh
rootfs/usr/local/etc/docker/init.d/02-named.sh
rootfs/usr/local/etc/docker/init.d/03-nginx.sh
rootfs/usr/local/etc/docker/init.d/04-php-fpm.sh
TEMPLATE.md
2026-05-13 15:58:17 -04:00
jason 2401603bec 🗃️ Removed the .claude/settings.local.json 🗃️
CLAUDE.md
.claude/settings.local.json
Dockerfile
.env.scripts
PLAN.md
README.md
rootfs/root/docker/setup/02-packages.sh
rootfs/root/docker/setup/05-custom.sh
rootfs/root/docker/setup/07-cleanup.sh
rootfs/tmp/etc/bind/named.conf
rootfs/usr/local/bin/entrypoint.sh
2026-05-12 20:05:33 -04:00
jason 4334b6c93b 🔧 Update configuration files 🔧
.claude/scheduled_tasks.lock
2026-05-06 15:59:53 -04:00
jason 4f6edd14f4 🔧 Update local settings and Dockerfile 🔧
- Adjusted .claude/settings.local.json with updated local configuration
- Modified Dockerfile to refine build steps and image setup

.claude/settings.local.json
Dockerfile
2026-05-06 06:48:10 -04:00
jason 9a6b6af611 🔧 Update local Claude settings 🔧
- Adjusted .claude/settings.local.json with local configuration tweaks
- Keeps personal harness preferences in sync with current workflow

.claude/settings.local.json
2026-05-05 22:01:02 -04:00
jason b9f5848f3b 🔧 Fix stale no_exit pid blocking restart loop 🔧
- Re-enter the monitor loop when /run/.no_exit.pid is left from a prior container life
- Only short-circuit when the recorded PID is still alive via kill -0
- Remove leftover pid file so the supervisor exec path runs on restart

.claude/scheduled_tasks.lock
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-05-05 20:19:32 -04:00
jason 8c510016c3 🗃️ 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.

.claude/
Dockerfile
.env.scripts
.gitattributes
.gitea/workflows/docker.yaml
.gitignore
LICENSE.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/tmp/etc/bind/named.conf
rootfs/tmp/etc/nginx/fastcgi_params
rootfs/tmp/etc/nginx/nginx.conf
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/bin/pkmgr
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/etc/docker/init.d/01-tor.sh
rootfs/usr/local/etc/docker/init.d/02-named.sh
rootfs/usr/local/etc/docker/init.d/03-nginx.sh
rootfs/usr/local/etc/docker/init.d/04-php-fpm.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:09 -04:00
jason b542a49619 🗃️ readme: rename rootfs/ to volumes/ for compose context 🗃️
Aligns README install/run snippets with the new convention split:
rootfs/ for Dockerfile-build content (image filesystem), volumes/
for docker-compose host bind-mounts. Compose mounts, host bind
paths, and runtime data dirs are renamed; Dockerfile COPY/ADD
sources (where present) are preserved.

README.md
2026-05-05 14:34:36 -04:00
jason 4888c96009 🗃️ Update codebase 🗃️
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/bin/pkmgr
rootfs/usr/local/etc/docker/functions/
rootfs/usr/local/etc/docker/init.d/01-tor.sh
rootfs/usr/local/etc/docker/init.d/02-named.sh
rootfs/usr/local/etc/docker/init.d/03-nginx.sh
rootfs/usr/local/etc/docker/init.d/03-php-fpm.sh
rootfs/usr/local/etc/docker/init.d/04-php-fpm.sh
rootfs/usr/local/etc/docker/init.d/99-nginx.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
2026-01-29 20:45:00 -05:00
jason e0ed7833a1 🗃️ Update codebase 🗃️
rootfs/usr/local/bin/update-httpd-files
rootfs/usr/share/httpd/default/index.php
2025-11-30 18:26:28 -05:00
jason fe4ef5476f 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-06-10 08:02:19 -04:00
jason 5162f0d8bc 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-06-10 07:39:41 -04:00
jason 602455fcc3 🗃️ Committing everything that changed 🗃️
rootfs/tmp/etc/bind/named.conf
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-06-06 23:54:01 -04:00
jason 90e3f9ecac 🗃️ Committing everything that changed 🗃️
rootfs/tmp/etc/bind/named.conf
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-06-06 23:48:06 -04:00
jason 98c6970e14 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-06-06 23:29:41 -04:00
jason 9a9fb0cd8b 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 17:21:02 -04:00
jason 34781e222f 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 17:10:03 -04:00
jason b95e62256f 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 16:38:56 -04:00
jason ddf663c7d7 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 16:22:46 -04:00
jason 7c97428265 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 16:07:17 -04:00
jason 2a3eb1ca44 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 14:15:17 -04:00
jason 8d5f3117bc 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 12:28:59 -04:00
jason 335a1ab5b0 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 12:18:22 -04:00
jason 1928eddcfc 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 12:10:52 -04:00
jason b6243b7e22 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 11:23:32 -04:00
jason 68b9078641 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
rootfs/usr/local/share/bind/
2025-05-20 11:15:43 -04:00
jason 121ba39659 🗃️ Committing everything that changed 🗃️
rootfs/root/docker/setup/07-cleanup.sh
2025-05-20 10:49:29 -04:00
jason cd0ae36eb7 🗃️ Committing everything that changed 🗃️
rootfs/root/docker/setup/07-cleanup.sh
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 10:46:42 -04:00
jason fa66d75cf9 🗃️ Committing everything that changed 🗃️
rootfs/tmp/etc/tor/torrc
rootfs/usr/local/bin/check-record
rootfs/usr/local/bin/get_dns_record
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 10:23:40 -04:00
jason bae65e71fe 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 09:25:32 -04:00
jason ee9e7165ce 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 08:59:58 -04:00
jason ba93326795 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 08:50:13 -04:00
jason 85a1eb7cc0 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-20 08:02:53 -04:00
jason 24e8a84222 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2025-05-02 08:42:42 -04:00
jason 9dc07a42ca 🗃️ Committing everything that changed 🗃️
.gitea/workflows/docker.yaml
2025-02-04 09:28:21 -05:00
jason 0aaff0addb 🗃️ Committing everything that changed 🗃️
.gitea/workflows/docker.yaml
2025-02-04 09:26:02 -05:00
jason 87f45f3dba 🗃️ Committing everything that changed 🗃️
Dockerfile
.env.scripts
rootfs/usr/local/etc/docker/init.d/01-tor.sh
rootfs/usr/local/etc/docker/init.d/02-named.sh
rootfs/usr/local/etc/docker/init.d/03-php-fpm.sh
rootfs/usr/local/etc/docker/init.d/99-nginx.sh
rootfs/usr/local/share/template-files/config/env/default.sample
2025-02-03 15:19:26 -05:00
jason c8884ca24c 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2025-01-10 23:15:55 -05:00
jason 0194f25475 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-09-24 11:03:02 -04:00
jason 8924763aa5 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2024-09-24 07:30:55 -04:00
jason 73bd7e208e 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2024-09-22 18:15:24 -04:00
jason 4d8a74ad85 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2024-09-22 18:08:31 -04:00
jason 5ff22086b4 🗃️ Committing everything that changed 🗃️
rootfs/tmp/etc/bind/named.conf
2024-09-22 17:59:39 -04:00
jason 1de20ed382 🗃️ Committing everything that changed 🗃️
rootfs/tmp/etc/bind/named.conf
2024-09-22 17:32:38 -04:00
jason de4c168772 🗃️ Committing everything that changed 🗃️
rootfs/usr/local/etc/docker/init.d/02-named.sh
2024-09-22 17:10:18 -04:00