Skip to content

Update notifications

NuGetKeep notifies administrators, in the web UI, when a newer release of the server itself is available. The running build’s version is compared against a small public update manifest at https://nugetkeep.com/updates/stable.json — a plain JSON document listing the latest version, its release notes, the pinned Docker image, and whether it is a security release. When a newer release exists, admins see a bell in the navbar opening a panel with the release notes and a link to the full release page; dismissing it is remembered (per version) in the browser.

This works out of the box — no token, no GitHub API access, no configuration. The check is on-demand and cached (default 6 hours): it makes at most one outbound GET to the manifest URL per cache window, sends nothing but the request itself, and degrades silently. Any failure (network, timeout, malformed response) means the UI simply shows no notification — the check never throws, never blocks page rendering, and stays quiet on air-gapped hosts.

All settings are optional; the defaults are right for almost everyone.

Environment variableDefaultPurpose
NUGETKEEP_UPDATE_CHECK_ENABLEDtrueMaster on/off. false disables the feature and all egress.
NUGETKEEP_UPDATE_CHECK_URLhttps://nugetkeep.com/updates/stable.jsonAbsolute URL of the update manifest (override for an internal mirror).
NUGETKEEP_UPDATE_CHECK_CACHE_TTL6hCache freshness window. Accepts a TimeSpan (06:00:00) or whole seconds (21600).
  • Only admins see the notification; other users and anonymous visitors never trigger a check.
  • A security release is flagged distinctly in the panel and on the Updates page, with a recommendation to upgrade promptly.
  • The manifest is published alongside each NuGetKeep release; release notes and downloads live in the public releases repository.

When an update is available, the admin Updates page (/admin/update) shows the release notes and upgrade steps. In short:

Back up your /data volume first. Database migrations apply automatically when the new container starts.

If you installed with the NuGetKeep installer (nugetkeep.com/install), run these from your deploy directory:

Terminal window
cd deploy
docker compose pull
docker compose up -d

Other deployments:

  • Plain docker run — pull the pinned image from the manifest, stop and remove the old container, then run a new one with the same /data mount and environment.
  • Kubernetes — set the deployment image to the pinned tag and roll out.