docker registry

A private docker image registry using SSH


NOTICE: This is a premium pico+ service

# Features

  • Private docker image registry
  • Use SSH keys for authentication
  • docker push and docker pull work exactly the same

# How it works

We leverage web tunnels to open a portal to our private image registry where you can access it via localhost. This is accomplished by our open source library ptun.

# Example usage

1ssh -L 1338:localhost:80 -N imgs.sh 
2# separate terminal
3docker push localhost:1338/my-img:latest
4docker pull localhost:1338/my-img:latest
5# or use the docker API
6curl http://localhost:1338/v2/_catalog

# SSH CLI

We provide a CLI to manage your docker images.

1ssh imgs.sh help
2ssh imgs.sh ls
3ssh imgs.sh rm alpine --write

# GitHub Action

Need to use imgs.sh with CI/CD? Just create the SSH tunnel before trying to use docker. We provide a custom image based on autossh to make this easier:

 1name: build and push docker image
 2
 3on:
 4  push:
 5    branches: [main]
 6
 7jobs:
 8  build:
 9    runs-on: ubuntu-latest
10    # start ssh tunnel as a container service
11    services:
12      registry:
13        image: ghcr.io/picosh/ptun/autossh:latest
14        env:
15          PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
16        ports:
17          - 1338:1338
18    steps:
19    - name: Set up QEMU
20      uses: docker/setup-qemu-action@v3
21    - name: Set up Docker Buildx
22      uses: docker/setup-buildx-action@v3
23      with:
24        driver-opts: network=host
25    - name: Build and push
26      uses: docker/build-push-action@v5
27      with:
28        push: true
29        tags: localhost:5000/image:latest

# Ready to join pico?

Create an account using only your SSH key.

Get Started
<< PREV
RSS-To-Email
NEXT >>
Images
Home
Sitemap
Getting started
How it works
File uploads
UI
Custom domains
Pages
Tuns
Prose
Pastes
RSS-To-Email
Docker Registry
Images
IRC
API Tokens
pico+
FAQ
Web Tunnels
Lab
Plain text lists
About us
Contact us
Abuse
Operations
Privacy policy