Updating Synaccess CMP (Docker)
This guide explains how to know when an update is available, how to apply the update with Docker Compose, and how to verify / roll back if needed.
How you’ll know about updates
- Release email notifications — ask us to add you to the update list: [email protected] (subject: “Add me to Synaccess CMP update notifications”).
- Manual check — if your Compose file uses
image: synaccess.azurecr.io/syn-cloud:${TAG:-latest}
withpull_policy: always
, runningdocker compose up -d
will check for and apply the newestlatest
image. - Changelog: We publish every release at synaccess.readme.io/changelog.
If your
.env
contains aTAG=...
, you are pinned to that version and won’t getlatest
automatically (see Pinning & rollback below).
Quick update (most deployments)
From your deployment folder (e.g., /opt/syn-cloud
):
# 0) (First time only or if credentials expired)
docker login synaccess.azurecr.io -u <TOKEN_USER> -p '<TOKEN_PASSWORD>'
# 1) Pull any newer images referenced by docker-compose.yml
docker compose pull
# 2) Recreate the service with the new image (keeps volumes/config)
docker compose up -d
# 3) Sanity check
docker compose ps
docker compose logs --tail=100 syn-cloud
This is safe to run repeatedly; if nothing changed, Compose won’t restart the container.
Verify what version you’re running
# Show images in use by the stack
docker compose images
# Show the exact digest of the running image
docker inspect --format='{{index .RepoDigests 0}}' synaccess.azurecr.io/syn-cloud:latest
# If you’re pinned (TAG set), replace :latest with your tag
docker inspect --format='{{index .RepoDigests 0}}' synaccess.azurecr.io/syn-cloud:<YOUR_TAG>
Pinning & rollback (simple, edit-free workflow)
Your docker-compose.yml
should reference:
image: synaccess.azurecr.io/syn-cloud:${TAG:-latest}
pull_policy: always
Track newest automatically (default):
- Leave
TAG
unset in.env
→ you followlatest
. - Update command:
docker compose pull && docker compose up -d
Pin to a specific release (freeze / rollback):
- Set
TAG
in.env
(for example):TAG=2025.10.02
- Apply:
docker compose up -d
- To rollback, change
TAG
to a previous version and run the same command.
Return to auto-updates:
- Remove the
TAG=
line (or comment it out) in.env
, then:docker compose pull && docker compose up -d
Maximum reproducibility (advanced):
- Pin by digest instead of tag:
Find the digest after a pull with:
image: synaccess.azurecr.io/syn-cloud@sha256:<digest>
docker inspect --format='{{index .RepoDigests 0}}' synaccess.azurecr.io/syn-cloud:<tag>
Scheduling updates
- Maintenance window: expect a brief interruption while the container restarts.
- Devices re-connect automatically: PDUs will re-establish telemetry/websocket connections once the app is back up.
Troubleshooting
-
401 Unauthorized when pulling
docker login synaccess.azurecr.io -u <TOKEN_USER> -p '<TOKEN_PASSWORD>'
Re-check that your token is current and scoped for pull.
-
No updates appear
- You may be pinned. Check
.env
forTAG=...
. Remove it to followlatest
, or change to the new version tag. - Ensure
pull_policy: always
is present (or rundocker compose pull
explicitly).
- You may be pinned. Check
-
DNS / network errors
nslookup synaccess.azurecr.io curl -I https://synaccess.azurecr.io/v2/ || true
Allow outbound HTTPS (443) from the host to the registry.
-
Config changes not applied
- Edit
.env
and re-run:docker compose up -d
- If needed, force recreation:
docker compose up -d --force-recreate
- Edit
Need update notifications?
Email [email protected] and ask to be added to the Synaccess CMP update newsletter. We’ll notify you when a new image is published and include highlights and tag details.
Updated 12 days ago