fix(deploy): add canonical production compose.yml (VS-43) #66
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/VS-43-canonical-prod-compose"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Fixes the production crash-loop
[FATAL tini] exec meshcentral failed: No such file or directory(VS-43).The repo and the published image are already correct. Source of truth on 2026-06-21:
git grep -i meshcentralonmain: only the README acknowledgement line.dev.a8n.run/psa-systems-private/vervain-server:latest(built 01:48 UTC) hasEntrypoint=["/sbin/tini","--"],Cmd=["vervain", ..., "run"].The
meshcentralstring is coming from a deployment-sidecommand:/entrypoint:override left over from the binary rename, running against the newvervainimage. The host.envconfirms it (RUST_LOG=info,meshcentral=debug,...). The enabling gap: no version-controlled production compose, so each host hand-maintained a deploy file that drifted across the rename.Change
compose.yml(production) that pulls the published image and relies on the image's ownENTRYPOINT/CMD- nocommand:/entrypoint:override, so the binary name lives only in the Dockerfile and a future rename cannot break a running deployment.docker compose -f compose.yml configpasses); names follow the convention (vervain-server/vervain-data/vervain-private); agent-fetcher + secret are an optional commented block.compose.ymlas the canonical production deploy.Host remediation (the running server)
This PR does not change your host's compose file. To recover the live deployment:
command:/entrypoint:that namesmeshcentral(or adopt thiscompose.yml)..env(meshcentrallog targets tovervain).docker compose pull && docker compose up -d --force-recreate.Verification
docker compose -f compose.yml configvalidates; the resolved service has no command/entrypoint override (uses the image'svervain ... run). Pre-commit hook (fmt/clippy/full test suite) passed on commit.🤖 Generated with Claude Code