Files
ysj7705andClaude Opus 5.5 89c6cbb5ad Fix image deletion: per-tag delete, repository delete, daily GC.
- 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>
2026-10-05 12:31:16 +09:00

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