- Deleting a tag now untags only that tag; the manifest is removed only when
no other tag references the same digest (previously deleting by digest also
removed every sibling tag).
- Add repository deletion. The registry API cannot drop a repository from the
catalog, so empty repositories stayed in the UI forever with nothing left to
delete. The app now mounts registry storage and removes the repository's
metadata directories after deleting its manifests.
- Run `registry garbage-collect` daily (GC_HOUR_UTC) so deleted blobs free disk.
- Disable Watchtower for the locally built app image.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reserved PUBLIC ACLs can grant unauthenticated pull while blocking login, deletion, and anonymous push/delete.
Co-authored-by: Cursor <cursoragent@cursor.com>
Compose brings up registry:3 plus a Prisma/SQLite Nuxt app for docker login, ACL management, and image browsing with shadcn-vue.
Co-authored-by: Cursor <cursoragent@cursor.com>