Commit Graph
10 Commits
Author SHA1 Message Date
casjay dbaad9bea8 🐛 Fix OCI image.url and image repo ARG 🐛
image.url must be the browsable hub.docker.com/r page — docker.io
is only a registry pull host. IMAGE_REPO is the Hub push path and
must use the casjaysdev org.

- Dockerfile: image.url → https://hub.docker.com/r/casjaysdev/xorg; IMAGE_REPO → casjaysdev/xorg
2026-08-14 14:43:39 -04:00
casjay c99cf61c2b 🐛 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:13:05 -04:00
casjay 8ff2e31c6f 🗃️ Update codebase 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-07-27 13:33:23 -04:00
casjay 6291f5ad9c 📝 Migrate /var/lib/srv docker paths to /srv in docs 📝
Update volume mount examples from /var/lib/srv/$USER/docker
to /srv/$USER/docker.
- README.md rootfs/usr/local/bin/copy rootfs/usr/local/bin/healthcheck rootfs/usr/local/bin/symlink : update 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 13:16:54 -04:00
casjay 58eb2f0e09 🐛 Fix circular base image dependency 🐛
The xorg Dockerfile was trying to use casjaysdev/xorg:latest as its base
image, but that image doesn't exist yet — it's what we're building.
Changed to use official debian:bookworm as the base since the pkmgr script
uses apt/apt-get and the packages (xorg, x11-apps) are Debian packages.
- Dockerfile: PULL_URL casjaysdev/xorg → debian, DISTRO_VERSION latest → bookworm

Dockerfile
2026-07-02 21:09:44 -04:00
casjay 2d90e2478e 🐛 Fix __exec_command dropping all arguments after the first 🐛
__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
2026-06-29 00:47:05 -04:00
casjay d4aba79607 🐛 Fix entrypoint crash on __setup_mta ssmtp failure 🐛
__setup_mta calls __find_replace on /etc/ssmtp/revaliases which returns
1 when the symlink it creates is broken. With set -o pipefail active the
non-zero return kills the entire entrypoint before any command can run.
ssmtp is not installed in this image and email delivery is not a feature
of this image, so the MTA setup failure is irrelevant. Guard the call
with || true so initialization continues regardless.
- rootfs/usr/local/bin/entrypoint.sh: __setup_mta || true (non-fatal)

rootfs/usr/local/bin/entrypoint.sh
2026-06-27 19:19:04 -04:00
casjay df09637816 Added: rootfs/usr/local/etc/resolv.conf
Added: rootfs/usr/local/etc/resolv.conf
2026-06-26 15:46:54 -04:00
casjay 81f6ad4200 Added: rootfs/usr/local/etc/docker/functions/entrypoint.sh
Added: rootfs/usr/local/etc/docker/functions/entrypoint.sh
2026-06-26 15:46:53 -04:00
casjay 780d4d8ecc 🦈🏠🐜 Initial Commit 🐜🦈🏠 2026-06-26 15:30:48 -04:00