Skip to content

fix(packaging): align ghcr image name to ghcr.io/nullislabs/shepherd#220

Open
lgahdl wants to merge 3 commits into
nullislabs:developfrom
bleu:fix/125-ghcr-image-name
Open

fix(packaging): align ghcr image name to ghcr.io/nullislabs/shepherd#220
lgahdl wants to merge 3 commits into
nullislabs:developfrom
bleu:fix/125-ghcr-image-name

Conversation

@lgahdl

@lgahdl lgahdl commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • docker-compose.yml and docs/deployment/docker.md referenced ghcr.io/bleu/nullis-shepherd while the publish workflow pushes to ghcr.io/nullislabs/shepherd (${{ github.repository }}). On a fresh server, docker compose pull was fetching the wrong image or failing outright — directly breaking the grant's "Docker image runs on a fresh server with minimal configuration" criterion.
  • Aligned all three files to the canonical ghcr.io/nullislabs/shepherd name.

Changes

File Change
docker-compose.yml image: default + comment → ghcr.io/nullislabs/shepherd
docs/deployment/docker.md All 5 occurrences replaced
.github/workflows/docker.yml Comment made explicit (was <owner>/nullis-shepherd)

Closes #125

Test plan

  • docker compose pull on a fresh machine will now resolve to the correct image
  • No build steps needed — config/docs only change

AI Assistance: Claude Code used for the image-name sweep and this PR body.

docker-compose.yml and docs referenced the old ghcr.io/bleu/nullis-shepherd
name while the publish workflow pushes to ghcr.io/nullislabs/shepherd
(github.repository). Fresh-server docker compose pull was fetching the
wrong image or failing.

Closes nullislabs#125
@lgahdl lgahdl requested a review from mfw78 as a code owner July 6, 2026 13:52
The git clone and systemd Documentation= URLs in deployment docs still
pointed to the old github.com/bleu/nullis-shepherd location. Fix them
to match the canonical nullislabs/shepherd repo used everywhere else.
Historical references in m2/m3 runbooks and ADRs are left unchanged.
@jean-neiverth

Copy link
Copy Markdown
Collaborator

Great catch on the image name. I think there's one spot that was missed though — line 25 in .env.example still has:

# SHEPHERD_IMAGE=ghcr.io/bleu/nullis-shepherd:sha-abc1234

It's commented out, but since this is the operator template (the deployment docs say "cp .env.example .env"), wonder if someone uncommenting it and just changing the SHA tag would still end up pulling from the old path. Maybe update it here too since it's the same class of issue this PR is fixing.

…v.example

Review catch: the docker.md runbook has fresh-server operators
cp .env.example .env, and anyone uncommenting SHEPHERD_IMAGE to pin a
build pulled the foreign-org image - exactly the failure mode nullislabs#125
describes. Remaining old-name hits are historical PR pointers in
ADR-0009 and the M2/M3 runbooks, left intentionally.

Also corrects the docker.yml header: tag pushes publish v<tag> +
sha-<sha>; `latest` only moves on default-branch pushes per the
metadata-action is_default_branch gate.
@mfw78 mfw78 added the base: develop Open PR targets develop — merge FIRST, before the dev/m1 integration PRs. label Jul 15, 2026
@lgahdl lgahdl force-pushed the fix/125-ghcr-image-name branch from ece6ebd to 0e8660d Compare July 15, 2026 14:17
@lgahdl lgahdl self-assigned this Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

base: develop Open PR targets develop — merge FIRST, before the dev/m1 integration PRs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

packaging: ghcr image name mismatch breaks fresh-server docker compose pull

3 participants