Skip to content

feat(deploy): container image, compose, unraid template and release lanes - #13

Merged
nofuturekid merged 2 commits into
mainfrom
feat/0014-deployment
Aug 2, 2026
Merged

nofuturekid merged 2 commits into
mainfrom
feat/0014-deployment

Conversation

@nofuturekid

Copy link
Copy Markdown
Owner

Spec 0014 (deployment) — cabin is shippable: multi-stage Dockerfile on a digest-pinned python:3.13-slim (nonroot 65532, read-only venv, stdlib healthcheck, VERSION build arg stamped into the wheel), docker-compose with no-new-privileges + cap_drop ALL, Unraid template, GHCR release and main lanes, README rewrite.

Verified by actually building and running: amd64 216.5 MB / arm64 243.1 MB flattened (arm64 built and run under QEMU), uid 65532, no uv/compilers/source in the image, empty-/data first run creates the DB and a 0600 secret.key, restart persists, --user 99:100 against a chowned dir works, compose comes up healthy with CapEff 0, make docker-smoke passes.

Reviewed and fixed: writable venv, missing runtime hardening in the shipped configs, :main publishing without a green CI gate (now workflow_run-gated on the tested commit), and an unwritable /data producing a 40-line traceback instead of a message naming the path, uid and chown. 460 tests green.

🤖 Generated with Claude Code

https://claude.ai/code/session_014ZMFrDSSDjqfAujiA29t2g

nofuturekid and others added 2 commits August 2, 2026 17:06
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ZMFrDSSDjqfAujiA29t2g
…anes

Spec 0014: multi-stage Dockerfile on python:3.13-slim (digest-pinned,
nonroot, healthcheck), docker-compose, Unraid template, GHCR release and
main lanes, README rewrite.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ZMFrDSSDjqfAujiA29t2g
@nofuturekid
nofuturekid merged commit 3ef4c2c into main Aug 2, 2026
1 check passed
@nofuturekid
nofuturekid deleted the feat/0014-deployment branch August 2, 2026 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant