Install ATCR Credential Helper
The ATCR credential helper enables Docker to authenticate with ATCR registries using your ATProto identity.
Quick Install
Using install script
curl -fsSL atcr.io/static/install.sh | bashManual download
curl -fsSLO atcr.io/static/install.sh
chmod +x install.sh
./install.shUsing PowerShell (Run as Administrator)
iwr -useb atcr.io/static/install.ps1 | iexManual download
Invoke-WebRequest -Uri atcr.io/static/install.ps1 -OutFile install.ps1
.\install.ps1Configure Docker
After installation, configure Docker to use the credential helper:
Create or edit ~/.docker/config.json
{
"credHelpers": {
"atcr.io": "atcr"
}
}
Note: If you have an existing
config.json, add the credHelpers entry to your existing configuration.
Authentication
The credential helper will automatically prompt for authentication when you push or pull:
docker push atcr.io/yourhandle/myapp:latestThis will:
- Open your browser for device authorization
- Display a code to confirm
- Store credentials securely
- Proceed with your push/pull operation
Success! Once authenticated, Docker commands work normally without any additional steps.
Alternative: Use docker login
You can also use docker login with your ATProto app password:
- Generate an app password at bsky.app/settings/app-passwords
- Run:
docker login atcr.io - Enter your handle as username
- Enter your app password
Note: Create an app password at bsky.app/settings/app-passwords.
Troubleshooting
Command not found
Ensure the credential helper is in your PATH:
# Check if installed
which docker-credential-atcr
# Add to PATH if needed
export PATH="/usr/local/bin:$PATH"Still having issues?
Check the full documentation or open an issue.
Security
- Credentials are stored in
~/.atcr/device.jsonwith secure permissions (0600) - Device secrets are issued per-device and can be revoked anytime
- No passwords are stored locally
- Uses ATProto OAuth with device authorization flow