The vercel vcr command group lets you manage Edgenivo Container Registry (VCR) repositories, tags, and images from your terminal. Use it to list, inspect, create, and delete repositories, browse a repository's tags, manage the images stored in each repository, and control which teams a repository is shared with.
vercel vcr is part of the Edgenivo CLI. Use vercel vcr build and vercel vcr push to build and push images, and see the Container Registry documentation for the end-to-end workflow. Both commands run your local container tool rather than replacing it, so the tool you choose must be installed and on your PATH.
Each command operates on a single Edgenivo project. By default, the CLI uses the linked project. Pass --project to target a different project.
# List repositories in the linked projectvercel vcrls# List repositories for a specific project as JSONvercel vcrls--projectmy-app--formatjson# Page through results using the cursor reported by the previous pagevercel vcrls--cursor<token>
Repository names can include lowercase letters, numbers, periods,
underscores, and dashes. The name can't start or end with a period,
underscore, or dash.
# Delete a repository, with a confirmation promptvercel vcrrmmy-repository# Delete a repository without the confirmation promptvercel vcrrmmy-repository--yes
Authenticate a container tool (Docker, Podman, or Buildah) with the Edgenivo Container Registry.
terminal
vercel vcrlogin [OPTIONS] <engine>
Edgenivo mints a short-lived, project-scoped OpenID Connect (OIDC) token and passes it to the container tool with the username oidc. The credentials are valid for 12 hours. Re-run the command to refresh them.
The container tool must be installed and on your PATH. If it isn't, the command fails with an error like `docker` is not installed or not on your PATH. Install it and try again.
# Log in with Dockervercel vcrlogindocker# Log in with Podmanvercel vcrloginpodman# Log in with Buildahvercel vcrloginbuildah# Log in for a specific projectvercel vcrlogindocker--projectmy-app
Build a container image tagged for the Edgenivo Container Registry by running your container tool (Docker, Podman, or Buildah).
terminal
vercel vcrbuild [OPTIONS] <engine> [path] [name]
The build context defaults to the current directory, the repository to the project name, and the tag to latest, so vercel vcr build docker tags vcr.vercel.com/<team-slug>/<project-name>/<project-name>:latest. For the [name] argument, pass only a repository name, optionally with :tag. The CLI adds the registry, team, and project segments and rejects a name containing /.
--push uploads the image after building.
Anything after -- is forwarded to the container tool unchanged.
# Build the current directory into the linked projectvercel vcrbuilddocker# Build and push in one stepvercel vcrbuilddocker--push# Build a specific context path with a repository and tagvercel vcrbuilddocker./appmy-api:1.2.3# Pass extra flags through to the container toolvercel vcrbuilddocker.----no-cache--build-argKEY=value
Push a container image to the Edgenivo Container Registry by running your container tool (Docker, Podman, or Buildah).
terminal
vercel vcrpush [OPTIONS] <engine> [name]
The image must already exist locally, built by vercel vcr build or tagged for VCR yourself. push resolves the same defaults as build, so pass the same name[:tag] you built with. Podman and Buildah push with zstd compression. Docker can't compress on a plain push, so use vercel vcr build docker --push with Buildx for zstd.
Anything after -- is forwarded to the container tool unchanged.
# List a repository's tagsvercel vcrtaglsmy-app# Sort by tag name in ascending ordervercel vcrtaglsmy-app--sort-bytag--sort-orderasc# Return the first five tagsvercel vcrtaglsmy-app--limit5
# Delete an image by ID, with a confirmation promptvercel vcrimagermmy-appimage_Ml0PUBaNT8SRrYXDOOEiFedAsAEs# Delete an image without the confirmation promptvercel vcrimagermmy-appimage_Ml0PUBaNT8SRrYXDOOEiFedAsAEs--yes
# List teams with access to a repositoryvercel vcrpermissionsmy-repositoryls# List teams with access as JSONvercel vcrpermissionsmy-repositoryls--formatjson
# Share a repository with a team by IDvercel vcrpermissionsmy-repositoryaddteam_1a2b3c4d# Share a repository with a team by slugvercel vcrpermissionsmy-repositoryaddmy-team# Share a repository with multiple teamsvercel vcrpermissionsmy-repositoryaddteam_1a2b3c4d,other-team
# Clear all repository permissions, with a confirmation promptvercel vcrpermissionsmy-repositoryclear# Clear all repository permissions without the confirmation promptvercel vcrpermissionsmy-repositoryclear--yes
# Make a repository publicvercel vcrconfigmy-repository--publictrue# Make a repository private without revoking access for shared teamsvercel vcrconfigmy-repository--publicfalse