Commit Graph

12 Commits

Author SHA1 Message Date
jason 413aa7bc54 📝 Add org profile README 📝
Creates the GitHub organisation profile page shown at
github.com/casjaysdevdocker.
- profile/README.md: org-level README with container catalogue,
quick-start, common env vars, registry locations, and maintainer info

profile/
2026-06-26 13:56:58 -04:00
jason 10effcfa66 📝 Correct init.d hook function description in AI.md 📝
The eleven hook functions are fully generated by the start-service
template inside each init.d script — they are not stubs the developer
writes. Customisation happens via matching *_local() variants.
- AI.md: clarify outer hooks are generated (do not redefine them)
- AI.md: document the eight *_local() stubs as the customisation points
- AI.md: note __update_conf_files_local() as where sed replacements go
- AI.md: explain the builtin type -t guard pattern for local variants

AI.md
2026-06-26 13:53:36 -04:00
jason 514ea1c695 📝 Fix WWW_ROOT_DIR in .env.scripts code block 📝
The dotenv.template uses a heredoc — variable expansions inside
it are resolved at generation time. When WWW_ROOT_DIR is unset,
the ${WWW_ROOT_DIR:-default} expression expands to the literal
default path. The code block now shows the actual generated output.
- .github/AI.md: WWW_ROOT_DIR value from template form to generated form

AI.md
2026-06-26 13:42:38 -04:00
jason 9bd1f3995c 🐛 Fix four remaining AI.md inaccuracies from final audit 🐛
- AI.md: --mariadb not in LONGOPTS so getopt rejects it silently;
document --mysql as the working flag with a note about --mariadb
- AI.md: Stage 1 bootstrap RUN missing ca-certificates install and
update-ca-certificates call (from alpinelinux.template lines 66-69)
- AI.md: hook function count said "eight" but eleven are listed; fixed to eleven
- AI.md: label URL values were hardcoded to casjaysdevdocker/docker.io;
corrected to ${GEN_DOCKERFILE_HUB_REPO} and ${GEN_DOCKERFILE_GIT_REPO}
which are computed from ENV_REGISTRY_URL/ENV_REGISTRY_PUSH/git remote

AI.md
2026-06-26 13:09:21 -04:00
jason 4fda116227 🐛 Fix xorg pull source — casjaysdev/xorg does not exist 🐛
Verified against Docker Hub API: casjaysdev/web exists,
casjaysdev/xorg returns 404. Update AI.md to reflect reality
and warn that ENV_PULL_URL must be set for xorg projects.
- AI.md: mark casjaysdev/xorg as non-existent; add must-set
ENV_PULL_URL warning for xorg template
- AI.md: clarify web/xorg package additions (xorg + x11-apps)
rather than implying they use a pre-built xorg-specific image

AI.md
2026-06-26 13:04:10 -04:00
jason 0d37595df7 📝 Replace hardcoded source paths with installed locations 📝
- AI.md: remove `bin/gen-dockerfile in casjay-dotfiles` source hint from
tool description — the installed binary is what matters
- AI.md: replace `$CASJAYSDEVDIR/templates/dockerfiles/` in template
resolution table with the installed path
`/usr/local/share/CasjaysDev/scripts/templates/dockerfiles/`; retain
`$CASJAYSDEVDIR` as the dev-checkout alternative
- AI.md: update Resources section — gen-dockerfile entry no longer names
the dev source path; template source entry shows the installed path
with the dev-override variable
- AI.md: tool description no longer assumes casjay-dotfiles dev checkout
- AI.md: template resolution and Resources use /usr/local/share/CasjaysDev/scripts

AI.md
2026-06-26 12:59:05 -04:00
jason 6733216b35 📝 Fix web/xorg pull sources, --startup desc, .github path refs 📝
- AI.md: correct `web` and `xorg` pull sources to `casjaysdev/web` and
`casjaysdev/xorg` (pre-built images, not raw Debian)
- AI.md: update note clarifying upstream vs casjaysdev pull source logic
- AI.md: expand `--startup` description — names the target path, the
gen-script backend, and shows the required positional filename arg
- AI.md: replace all bare `.github/example/` path references with the
explicit `casjaysdevdocker/.github/example/` org-level repo path so
the file remains meaningful when copied into any container project
- AI.md: replace "copy from .github/example" workflow steps with
`gen-dockerfile --startup` commands
- AI.md: all .github/example path refs → casjaysdevdocker/.github/example/
- AI.md: web/xorg pull source column corrected to casjaysdev pre-built images
- AI.md: --startup flag description expanded with path and gen-script detail

AI.md
2026-06-26 12:57:51 -04:00
jason 2a80da6a38 📝 Correct AI.md against gen-dockerfile source and templates 📝
Full audit of AI.md against bin/gen-dockerfile and all
templates/dockerfiles/*.template; fixed every discrepancy found.
- AI.md: fix Templates table — base image column now shows pull source
(alpine, debian, ubuntu, almalinux, menci/archlinuxarm), not push
target; add clarifying note distinguishing pull vs push registries
- AI.md: add oraclelinux and redhat to RHEL family alias list
- AI.md: add web/xorg template accurate descriptions (Debian build stage)
- AI.md: fix .env.scripts code block — ENV_PULL_URL corrected to alpine;
add WWW_ROOT_DIR between NODE_MANAGER and ENV_PACKAGES (from dotenv.template)
- AI.md: add LANG_VERSION and WWW_ROOT_DIR to variable reference table
- AI.md: rewrite Dockerfile ARG table — fix PULL_URL default, split into
top-of-file ARGs and Stage 2 ARGs, add PHP_SERVER/PATH/USER/SHELL_OPTS/
CONTAINER_VERSION/TZ/LICENSE/ENV_PORTS
- AI.md: fix Stage 1 ENV block — add ENV ENV=~/.profile and ENV TIMEZONE="${TZ}"
- AI.md: fix Stage 2 ENV block — add 11 missing lines (ENV/USER/PATH/TIMEZONE/
ENV_PORTS/PHP_SERVER/NODE_VERSION/NODE_MANAGER/PHP_VERSION/DISTRO_VERSION/
WWW_ROOT_DIR)
- AI.md: fix Container Labels — add base.name, schema-version, url, vcs-type,
toolbox labels; document double org.opencontainers.image.source (hub then git)
- AI.md: remove certbot from Alpine package list (not in GEN_DOCKER_FILE_PKGS_ALPINE)
- AI.md: replace stale CI/CD section with actual actions.template output;
document SHA-pinned actions, Gitea-first dual-registry strategy, vars vs
secrets, annotations block, versioned workflow variant
- AI.md: add hand-crafted vs generated file legend to project structure tree

AI.md
2026-06-26 12:54:00 -04:00
jason 28d9722e62 📝 Sync example files and update AI.md to current gen-dockerfile 📝
Remove stale DEFAULT_* variables and sync all generated example files
to match the current gen-dockerfile tool output.
- AI.md: remove DEFAULT_FILE_DIR/DATA/CONF/TEMPLATE_DIR from .env.scripts
code block and variable reference table; WWW_ROOT_DIR retained
- example/.env.scripts: migrate to current variable names
(ENV_REGISTRY_REPO, ENV_REGISTRY_PUSH, ENV_REGISTRY_URL, ENV_REGISTRY_ORG);
remove DEFAULT_FILE/DATA/CONF/TEMPLATE_DIR entries
- example/Dockerfile: remove DEFAULT_FILE/DATA/CONF/TEMPLATE_DIR ARGs;
regenerated from current alpine template
- example/.gitattributes: sync to current template output
- example/.gitignore: sync to current template output (expanded patterns)
- example/README.md: regenerated from current template
- example/rootfs/root/docker/setup/00-init.sh: sync to current template
- example/rootfs/root/docker/setup/01-system.sh: sync to current template
- example/rootfs/root/docker/setup/02-packages.sh: sync to current template
- example/rootfs/root/docker/setup/03-files.sh: sync to current template
- example/rootfs/root/docker/setup/04-users.sh: sync to current template
- example/rootfs/root/docker/setup/05-custom.sh: sync to current template
- example/rootfs/root/docker/setup/06-post.sh: sync to current template
- example/rootfs/root/docker/setup/07-cleanup.sh: sync to current template
- example/rootfs/usr/local/bin/entrypoint.sh: sync to current template
- example/rootfs/usr/local/etc/docker/functions/entrypoint.sh: sync to current template

AI.md
example/Dockerfile
example/.env.scripts
example/.gitattributes
example/.gitignore
example/README.md
example/rootfs/root/docker/setup/00-init.sh
example/rootfs/root/docker/setup/01-system.sh
example/rootfs/root/docker/setup/02-packages.sh
example/rootfs/root/docker/setup/03-files.sh
example/rootfs/root/docker/setup/04-users.sh
example/rootfs/root/docker/setup/05-custom.sh
example/rootfs/root/docker/setup/06-post.sh
example/rootfs/root/docker/setup/07-cleanup.sh
example/rootfs/usr/local/bin/entrypoint.sh
example/rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-06-26 12:41:47 -04:00
jason 6b13cc9075 📝 Update AI.md to match current gen-dockerfile tool 📝
Rewrote the specification to reflect the actual current gen-dockerfile
behaviour, template system, and generated file structures.
Key changes:
- .env.scripts: Replace all old variable names (ENV_IMAGE_NAME,
ENV_IMAGE_PUSH, ENV_HUB_BASE, ENV_ORG_NAME) with current names
(ENV_REGISTRY_REPO, ENV_REGISTRY_PUSH, ENV_REGISTRY_URL,
ENV_REGISTRY_ORG); add legacy migration table
- Add complete gen-dockerfile CLI flags reference
- Add template types table (alpine/arch/debian/ubuntu/almalinux/web/xorg/scratch)
- Document `gen-dockerfile actions` subcommand (generates build.yml)
- Document `gen-dockerfile --update` mode
- Document --org/--user/--repo scope prefix syntax (git: / reg:)
- Document template resolution order (user config dir > scripts tree)
- Fix workflow filename: .gitea/workflows/docker.yaml (example) vs
build.yml (gen-dockerfile actions output)
- Replace example workflow skeleton with the actual docker.yaml content
- Add full build argument table from the actual generated Dockerfile
- Document all eight required hook functions for init.d scripts
- Clarify PID sentinel: /run/.start_init_scripts.pid (dot prefix)
- Remove stale hard-coded project count ("71")
- Expand directory variable documentation for init.d scripts
- AI.md: .github/AI.md: rewrite based on current tool and templates

AI.md
2026-06-26 12:32:07 -04:00
jason 85626f7a1d 📝 Update codebase 📝
AI.md
2026-05-18 15:38:39 -04:00
jason 5ca3b354ce 🦈🏠🐜 Initial Commit 🐜🦈🏠 2026-05-13 14:35:15 -04:00