This is a proof-of-concept solution for a private Ruby gem server over an SSH tunnel. Once the tunnel is established, traffic can take place with or without the typical HTTP basic auth (this example does not include it).
From within the docker host:
# Run a new geminabox server docker guest with its SSH port (22)
# published on port 29292 of the host
docker run -p 29292:22 -d jemc/geminabox-ssh
Setting up an SSH tunnel from a client through the host to the guest:
# SSH tunnel through port 29292 of the docker host into the docker guest,
# Forwarding traffic on client's port 9292 to guest's localhost:9292
# (the default root password is 'password')
ssh -f -N -L 9292:localhost:9292 [email protected] -p 29292
Pushing a private gem to the docker guest through the tunnel:
# Push to http://localhost:9292
gem inabox /path/to/my-secret-0.0.1.gem
Content type
Image
Digest
sha256:ff6de6096…
Size
89.1 MB
Last updated
almost 11 years ago
docker pull jemc/geminabox-ssh