- 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>
30 lines
1.1 KiB
Bash
30 lines
1.1 KiB
Bash
# Public URL that docker clients use to reach the Nuxt auth endpoint
|
|
# Behind NPM/Traefik this should be the HTTPS URL of the admin UI
|
|
AUTH_PUBLIC_URL=http://localhost:3080
|
|
|
|
# Public registry host shown in UI quick-start / used by docker login·push·pull
|
|
# Local: localhost:5050
|
|
# Behind proxy: docker.sejong.dev (or https://docker.sejong.dev — scheme is stripped for CLI)
|
|
REGISTRY_PUBLIC_URL=localhost:5050
|
|
|
|
# Registry token auth (must match auth.token.service / issuer in registry config)
|
|
REGISTRY_AUTH_SERVICE=registry
|
|
REGISTRY_AUTH_ISSUER=registry-aio
|
|
|
|
# Bootstrap admin (seeded once on first start)
|
|
ADMIN_USERNAME=admin
|
|
ADMIN_PASSWORD=admin123
|
|
|
|
# Session secret for admin UI cookies (change in production)
|
|
SESSION_SECRET=change-me-to-a-long-random-string
|
|
|
|
# Host ports (macOS often occupies 5000 via AirPlay Receiver)
|
|
REGISTRY_PORT=5050
|
|
APP_PORT=3080
|
|
|
|
# Internal registry URL used by the Nuxt app (compose service name)
|
|
REGISTRY_INTERNAL_URL=http://registry:5000
|
|
|
|
# Daily registry garbage-collect hour in UTC (20 = 05:00 KST). Empty value disables it.
|
|
GC_HOUR_UTC=20
|