Deploy: add pull, the verb a first install from a registry needed

`up` only builds images that are missing locally, and `update` refuses to
run without an existing database to back up — so a fresh install that is
meant to fetch prebuilt images had no command that did it. `pull` fills the
gap and fails loudly if REGISTRY_PREFIX is still the local default.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018SqJYt7jD7oUEkoY68sBZo
This commit is contained in:
2026-09-16 20:35:29 +02:00
co-authored by Claude Opus 5
parent 8fce86559e
commit 64ef3893d3
2 changed files with 25 additions and 4 deletions
+9 -4
View File
@@ -290,15 +290,20 @@ docker login 192.168.1.185:8418
From then on, on your PC:
```bash
REGISTRY_PREFIX=192.168.1.185:8418/claude/webmail ./deploy/build-push.sh v1.0.0
REGISTRY_PREFIX=192.168.1.185:8418/<you>/webmail ./deploy/build-push.sh v1.0.0
```
and on the NAS, with `REGISTRY_PREFIX` and `IMAGE_TAG` set in `.env`:
```bash
bash deploy/webmail.sh update v1.0.0
bash deploy/webmail.sh pull v1.0.0 # first install
bash deploy/webmail.sh update v1.0.0 # every time after
```
`pull` exists because the other two don't cover a first install from a
registry: `up` only builds what is missing locally, and `update` refuses to run
without an existing database to back up.
> If you would rather not loosen the daemon, `./deploy/build-push.sh v1.0.0
> --save` writes a tar you copy over and `docker load` — no registry, no
> insecure flag, but a manual copy each time.
@@ -404,8 +409,8 @@ the dump that `update` took in step 1.
Building on the NAS is simple but slow and RAM-hungry. Two alternatives:
```bash
# On your PC — push to your Gitea registry:
REGISTRY_PREFIX=192.168.1.185:8418/claude/webmail ./deploy/build-push.sh v1.0.0
# On your PC — push to your Gitea registry (the namespace is your Gitea user):
REGISTRY_PREFIX=192.168.1.185:8418/<you>/webmail ./deploy/build-push.sh v1.0.0
# then on the NAS, set REGISTRY_PREFIX + IMAGE_TAG in .env and:
./deploy/webmail.sh update v1.0.0