Log inStart free

Private registries & repos

Registries

aloof registry login ghcr.io -u my-user --password-stdin <<< "$GHCR_TOKEN"
aloof registry login docker.io -u me                       # Docker Hub access token
aloof registry login 123456789012.dkr.ecr.eu-central-1.amazonaws.com -u AKIA... -p SECRET   # AWS keys; a short-lived ECR token is minted per pull
aloof registry login europe-docker.pkg.dev -u _json_key --password-stdin < key.json        # GCR / Artifact Registry
aloof registry login registry.example.com -u ci -a my-app  # per-app override

Credentials are encrypted at rest. They are written only to a private, temporary Docker config for a single pull or build, including the FROM lines in your Dockerfile. Every deploy pulls with the owning account's credentials, so a private image cached on a host can't be used by another account. Images are then mirrored into the platform registry, so edge and self-hosted nodes run them without ever seeing your registry credentials.

Git

aloof git deploy-key github.com -a my-app        # prints an ed25519 public key: add it as a read-only deploy key
aloof deploy my-app --git git@github.com:me/private.git --ref main
aloof git token gitlab.com -a my-app             # read-only token (GitHub: x-access-token, GitLab: oauth2, Bitbucket: x-token-auth)
aloof deploy my-app --git https://gitlab.com/me/private.git

This works with any git host over SSH or HTTPS. Tokens are passed as an HTTP header through the environment, never on a command line or in .git/config. Submodules are fetched with the same credentials. On GitHub you can use the GitHub App instead, which needs no long-lived keys.