imgs.sh

A private docker image registry using SSH


NOTICE: This is a premium pico+ service

# Features

  • 5GB image storage limit
  • 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

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

# GitHub Action

 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          USERNAME: <pico_user>
16          PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
17        ports:
18          - 5000:5000
19    steps:
20    - name: Set up QEMU
21      uses: docker/setup-qemu-action@v3
22    - name: Set up Docker Buildx
23      uses: docker/setup-buildx-action@v3
24      with:
25        driver-opts: network=host
26    - name: Build and push
27      uses: docker/build-push-action@v5
28      with:
29        push: true
30        tags: localhost:5000/image:latest

# Ready to join pico?

Create an account using only your SSH key.

Get Started
<< PREV
tuns.sh
NEXT >>
prose.sh
Home
Sitemap
Getting started
How it works
File uploads
UI
Custom domains
pgs.sh
tuns.sh
imgs.sh
prose.sh
pastes.sh
feeds.sh
pico+
Images
IRC
API Tokens
FAQ
Web Tunnels
Lab
Plain text lists
About us
Contact us
Abuse
Operations
Privacy policy