Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
1
  • Loading branch information
alexec committed Nov 8, 2014
commit b50bb58a14335ffa13fbcb35260de1805a098e4e
14 changes: 12 additions & 2 deletions docker-auth-registry/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
Set-up a Docker Registry with Plain Text Authentication
--

This creates a registry that runs locally with SSL and authentication set-up.

./registry.sh
Pre-requisites, fig (on OS-X with Homebrew):

brew install fig

To build:

fig up

Test it works:

curl https://localhost:5443/v1/users/ -k -f --basic --user registry:registry

Based on <https://medium.com/@deeeet/building-private-docker-registry-with-basic-authentication-with-self-signed-certificate-using-it-e6329085e612>.

30 changes: 0 additions & 30 deletions docker-auth-registry/container/ca-key.pem

This file was deleted.

24 changes: 0 additions & 24 deletions docker-auth-registry/container/ca.pem

This file was deleted.

18 changes: 0 additions & 18 deletions docker-auth-registry/container/server-cert.pem

This file was deleted.

27 changes: 0 additions & 27 deletions docker-auth-registry/container/server-key.pem

This file was deleted.

15 changes: 0 additions & 15 deletions docker-auth-registry/container/server.csr

This file was deleted.

8 changes: 0 additions & 8 deletions docker-auth-registry/container/start.sh

This file was deleted.

10 changes: 10 additions & 0 deletions docker-auth-registry/fig.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
registry:
image: registry
ports:
- "5000:5000"
nginx:
build: nginx
ports:
- "443:8443"
links:
- registry
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
FROM registry

RUN apt-get update
RUN apt-get install -y nginx
FROM dockerfile/nginx

ADD server-cert.pem /etc/ssl/certs/docker-registry
ADD server-key.pem /etc/ssl/private/docker-registry
Expand All @@ -11,8 +8,6 @@ ADD docker-registry.conf /etc/nginx/

ADD docker-registry.htpasswd /etc/nginx/

EXPOSE 5443

ADD start.sh .
EXPOSE 443

CMD ./start.sh
CMD nginx
27 changes: 27 additions & 0 deletions docker-auth-registry/nginx/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#! /bin/sh
set -eu


echo "enter "registry" each time you are asked for a pass-phase"
echo "enter "registry" when requested for a common name"
echo "press enter for everything else"

echo 01 > ca.srl
openssl genrsa -des3 -out ca-key.pem 2048
openssl req -new -x509 -days 365 -key ca-key.pem -out ca.pem

openssl genrsa -des3 -out server-key.pem 2048
openssl req -subj "/CN=registry" -new -key server-key.pem -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -out server-cert.pem

openssl rsa -in server-key.pem -out server-key.pem

if [ "$(which boot2docker)" != "" ]; then
B=$(echo $DOCKER_HOST|sed 's/.*\/\(.*\):.*/\1/')

scp -i ~/.ssh/id_boot2docker ca.pem docker@$B:

echo "mkdir /etc/docker/certs.d/localhost:5443/" | boot2docker ssh
echo "cat ca.pem > /etc/docker/certs.d/localhost:5443/ca.crt" | boot2docker ssh
fi

30 changes: 30 additions & 0 deletions docker-auth-registry/nginx/ca-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B5430D61BC639C5C

16iWQsb9WQyDENfLqJcdF+KuER+0Bg51ZWBOam34z7iRLB3vDiULO718HVAXE+kL
IxA55utKPEkCT74CcUQ6+wlfEqXnBF3p3DPzBEVhLKdMKeciw4EzjCuV4+l+PKR4
LEMT1NXUud8lzb2vej/HuXEObq2Pc9GTQBOQ/Y6hku4w+W9No4Dmo8jChAOquI5j
obkdsdMKtIu8SbsErbb8K0cngo6NaO/Jmn0E/VTVbDS7A8cn8NlGk59OfuhPP52d
qSegC/Ja3fCQZxuohrf+6UwlqEI4dlyqme1IKWEIXk3vCRy4zfMVpVzi6e2UXdyb
akU4lFCQbQEm1925m9poLqxkA2YXUr3e5KMJ1B6i40p5dWSgge8xpFQBXVFJo/Rf
rj//A5/ML/8LgZPvPtJqnLu3Z59naeGMwYkYscJGKMMfeOUKCtUwBWG3FbXX6Z8G
rlVeJ1YAU06sueur8BGbLbTtNU5i3ujQ2kb7k68CLGWMulY0a7jTLMHNTx6Mq/yH
xZly6hkfUsNjgAModLe6pt5CcoQbFptL+tWVRBMsvSr2P3NRQIoPRRgbvXw1mZ60
v3FHukIXVczQ9J98GdIPgqDMFLPKL+AIbNarKnlv9hEyNgZ0D5Qu0+4DA1ITPfVy
nlGyKK46vHF4QqjSQXz7482FG8gduXfTW3O88HenQmyOt/AIllmlEm/940Ncv/xA
mgcvajhSTRmHq4JULKlzM2Beq3ABaa2FKFVh+8hZohhdxrt6BP59GhBq5/UKvjrt
6PGR46UzLvosjVRUDI7sxJQO+DWezdnNolKzw8doPmzkLqPKF4vHGKLU6tZ+KNCU
82CVJe+7X2+lgUs8mQVuQm4tTmKcNa3Yetpi+wG14OVx7Fobcl9uwPL2Kd7/23uQ
peS9dOyzN3IiMsuQaG/n6RyDFfFk64Algi2nW9m/s9CrZlzUhH78yzXxNex8fozs
KDV8n9KbGmtgBsdZC8uSg5+Luj7ri2xb0G2NFyNquCP17BvYkX02/xloWF8WKgCH
4SC/34wNCtu/OlVTRi5ujXZCm0D3U+pNv1xYdq5rJCUfjFtSCFRYRDRZ3wtLM1AS
UQmzGXHu64i+b0XjU2I8PvbUW39L5+/XZjdnbFcOQMVPlVjuh0AQNV5M5go3SVVi
Z+igAASkCvUyakb7LgmYhQjP/xyXa0EzIC5t9QoRkxbw3aWZMPKXA/g92lmDDZuj
IOPAgrFkms0CqYYApOrPoTCTtqx4+SdDP7HB+lFQ4v03552RhQBaZK2ukNcv6H6C
jP6iy6GQJzRWtpXv6lNCL2dg7qn39D5QhU61367MEFlF66v/oTX6RGSWgDeAWJW1
+QhlCQUCDyNTpb2nkLg/BTrCEpRyq244pDjpFaIJ+MS3LOaGfJyXpOHMjvjWrX+l
EKxQTkuvlJKZLThS5sCejagmdB3DTgJpD/KvaAoaO77VHwSNvSQLA8CdnPiJ6NIg
Q+MUijW+yOPTSF4XE/x/AKg4aAFDthprayJ5u4gzDC568gkdQ034woWDQAHcNF4t
Dd+K/Go18mfo/1xyuBrXqUizkA2Dqe2tQMv9EwXsli4jywLJcqRhbA==
-----END RSA PRIVATE KEY-----
25 changes: 25 additions & 0 deletions docker-auth-registry/nginx/ca.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIJAICgl2R8Mq2nMA0GCSqGSIb3DQEBBQUAMGsxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQxJDAiBgNVBAMTG2FsZXgtY29sbGluc3MtbWFjYm9vay5s
b2NhbDAeFw0xNDExMDUyMTU5MzlaFw0xNTExMDUyMTU5MzlaMGsxCzAJBgNVBAYT
AkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRn
aXRzIFB0eSBMdGQxJDAiBgNVBAMTG2FsZXgtY29sbGluc3MtbWFjYm9vay5sb2Nh
bDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOQL3HUvUG5z0aa9C4ob
yh4xh2Xn7Ub0hroa+0VoJ0weplapYq6kRLnngEuHGv0yFps/abc/PndHCU1EUo7N
DmGPDFQ4AOBwymoZOjLHDnk7O76qL49tU9x7mnhqmcttaocTboR1g4c0a7AmgNjP
Da9jKkXP5WrgZeCdQD0azpTQiIVIbFLFYqzNArln8s/08RVW9OeRl5dqwGJIMMBy
DNEliBZEv7ZOBQOzyziwdNISl/PHtYvN45h6mQa4dcaVCU9EMdETfaJVGVQeXXn5
u3QcnzSJEBnRi0hmQKhHgYXdxRRTraYc1/1nuZi99PVyyqC3zzJYOStbl5i18ZPf
5t0CAwEAAaOB0DCBzTAdBgNVHQ4EFgQUkPh8b4LHRL57tpA/ed6k4PTa+xEwgZ0G
A1UdIwSBlTCBkoAUkPh8b4LHRL57tpA/ed6k4PTa+xGhb6RtMGsxCzAJBgNVBAYT
AkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRn
aXRzIFB0eSBMdGQxJDAiBgNVBAMTG2FsZXgtY29sbGluc3MtbWFjYm9vay5sb2Nh
bIIJAICgl2R8Mq2nMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFyw
TkjUuVELHPZUt25h1K5Ja20E55ELwu+GaVtPKLK4qCXEEkESKmuNuwJQ//IPkvZ1
b63/DJeeh8pF9Zia7hrBe1wj5OZ9KqzvFOzTdomLycGPRCh7p/ZUf8f3mVgSLOxZ
gCqbY2Mau3ve7SUB4dkE6wuYeDPjotlSZor4wiobCBuViJj4Z//434vwUh5eNiVv
JS5HCHVsrneN7YNx4FfWSMWjShSNBT4ltSE6yLkuWrSRlmZknWG1wyXQBZj3HqnB
/AcTt2VaGdxuEpXjjE7+sW5YwDtDSOwFqhPdwtUg7iogCUxpc3pwm8ZuLZ7a027Y
wtpHzs0SxSD5yK9eHOU=
-----END CERTIFICATE-----
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
proxy_pass http://docker-registry;
proxy_pass http://registry;
proxy_set_header Host $http_host; # required for docker client's sake
proxy_set_header X-Real-IP $remote_addr; # pass on real client's IP
proxy_set_header Authorization ""; # see https://github.com/dotcloud/docker-registry/issues/170
Expand Down
19 changes: 19 additions & 0 deletions docker-auth-registry/nginx/server-cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDBTCCAe0CAQIwDQYJKoZIhvcNAQEFBQAwazELMAkGA1UEBhMCQVUxEzARBgNV
BAgTClNvbWUtU3RhdGUxITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0
ZDEkMCIGA1UEAxMbYWxleC1jb2xsaW5zcy1tYWNib29rLmxvY2FsMB4XDTE0MTEw
NTIxNTk0OVoXDTE1MTEwNTIxNTk0OVowJjEkMCIGA1UEAxMbYWxleC1jb2xsaW5z
cy1tYWNib29rLmxvY2FsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
4ksN/P+TQHbN7tKSmAUTa83UPPc3MyGM6aqC/wSjoWNUL19oeGKAGL3+5UfAeN/W
wXkwuu8yceyA7n7965UEOAiF8hr63hyxBCC+MsC6v8hOz/nV0FJAxJXttrznp/KY
228Hv4p9twnaX8BH45dLBfXb/jmnHl8n1epQkDFNGTIqxqtZLqiB+TdxXr1BgIQ0
R6JmEf348lmC6pQ2Kk1Psmfu1H64p7UGlDzfOIBhm+NXHcE02F2RbgcaR1KBGPLB
HRGiAa88vf5wSqwDLBdvbD1tyJfyS7tpm6wNpZJMwQJC5bsNwzd7eU76xJBm7QcH
uj2bcr8c9utFbtkfNhRYMwIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQARO2RHZ7yh
TcRzPYvG2qFPO/mY0sHqFbZ8bVYrgAcaUIzSdZspQx4DeZzjMBnbHbLtFCBK9nHU
h1ZwxPiu9hyDiEpKtW/tCa4A72I1zDL9PIm5iBFZMg33I6OpHYXEYqhiwv/GctOg
xlzAC9YDbyIG34s+3ZTCLMZHi/PZJWkp5gLOfCr16cmu5acdPubeQEzSWDs7HNOb
DTeK9SoUHSoIjzbipTmnp/3mhTy7xQdmePEuqRHU5QxEsL5zua8O+JkcgSnllYCL
y9MmbRkb7WuP2jen926C7HCJ61UtgSHRlrWD3Bd/jrZja/9Fm/NKVye30fSb9mP2
I1q7NhGfpkxk
-----END CERTIFICATE-----
27 changes: 27 additions & 0 deletions docker-auth-registry/nginx/server-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA4ksN/P+TQHbN7tKSmAUTa83UPPc3MyGM6aqC/wSjoWNUL19o
eGKAGL3+5UfAeN/WwXkwuu8yceyA7n7965UEOAiF8hr63hyxBCC+MsC6v8hOz/nV
0FJAxJXttrznp/KY228Hv4p9twnaX8BH45dLBfXb/jmnHl8n1epQkDFNGTIqxqtZ
LqiB+TdxXr1BgIQ0R6JmEf348lmC6pQ2Kk1Psmfu1H64p7UGlDzfOIBhm+NXHcE0
2F2RbgcaR1KBGPLBHRGiAa88vf5wSqwDLBdvbD1tyJfyS7tpm6wNpZJMwQJC5bsN
wzd7eU76xJBm7QcHuj2bcr8c9utFbtkfNhRYMwIDAQABAoIBAHectoMhUGNFqOpw
sX3bSP21qVakUbAcLtCgCWfkut0mlKwJoT3oys7JNr9YotsBbhGMDn7wylg/a5Mk
2vC4LqezkaF8M1hOEB8fc4l+J/gRV99ErojTwVpn6WOrDEPQzo1GbfEHshWbBquQ
Bi+9m7FF2IfTT4uVPogqt3TQKnGC/XdYZSc1DOxxH66sesIBYoIG/MpaH3zYw+tI
aW3kOYbYZKmJKBk05XOLlS2T9Jlf0GgDyG+4/Dz3TRvJV2KwB/SH+CUDss+vT2ud
ahJ/fP1oDJYtBDY+IfcY1cOGWD8v5XD3tTTZ+kCFW2080EoAngeupf1m9mR1ETi4
xs/NxqkCgYEA8m+bcjeeUbZw2ngMRRA+VJf8sAH9HanG2+gEAax8xPXz8O42FuLq
8ex25VpxOPg+8/orcrTgCfkM4CoNV/9PPyMbQRwGMigkEg76MD/dvFmyW2mMRape
hat3Ld+NxG/cuTYPSWa4RtFaMovTwPPIvkjJNK4GGrJmzPchGj9wNd8CgYEA7vQ8
SnBCBQhXi4tIPF3bFU44WqE9yf2sJmC3y738PIa+FqRfdIgDal6l70a3dZMyNkhO
EFRUDIIoSfNdc1Nywglz3VTeFM93GKYPtbuJDPda1jMT2Evi9bWzYO9OKV9i4rze
WdQ+l+idbJ36tNYgVaoHNx/KhHpWCJzkFwVBIC0CgYBJEDex0W9GQwx52uofukh+
qBuAU+kbknoa9i6W7ovftBwjhTcJ6LNT26btcjdjKvWWA9QqSramasdlm2bQGWKh
rYveMHrxjMVqJ9dgyS6jQAkPoZyjtjesY0OUsKYCCJBlxRQQVAO/XAKp7xgPM6lR
J5Bz7upqC1AN/4Cbb3j60wKBgQCqTT86/k7PL2bVeWr+OxYNVTYswYY8E6NBpuTX
PIwsxwtrL7MoZleo09QHeKsADOxYa6fXU4Kjd5AnRF9x9iNvzzTYpcexpTsIQjIo
H4RJzXDcAINAQLV80QcLKwLV0bm0R09hTjdeJNcttlob0BAzfX6u9uVrDZWLheW5
0nDb8QKBgFcgD84A2xcunL+ZLtZ5YwyY3PPCoU3hDnHT2ZFz7H74rthLv/RXTmX0
BM/ZUVHKeLPzgXyxR0kpojDkVfx8q8Ncz8xZse+TTX1Lk3HGJIFS40gnvTaUc+4I
bpzH7lRdjEuAAK+fDYZa8pEeep6y9tVEa38RrL09F7+XDBuvLY2b
-----END RSA PRIVATE KEY-----
15 changes: 15 additions & 0 deletions docker-auth-registry/nginx/server.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbYWxleC1jb2xsaW5zcy1tYWNib29rLmxv
Y2FsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4ksN/P+TQHbN7tKS
mAUTa83UPPc3MyGM6aqC/wSjoWNUL19oeGKAGL3+5UfAeN/WwXkwuu8yceyA7n79
65UEOAiF8hr63hyxBCC+MsC6v8hOz/nV0FJAxJXttrznp/KY228Hv4p9twnaX8BH
45dLBfXb/jmnHl8n1epQkDFNGTIqxqtZLqiB+TdxXr1BgIQ0R6JmEf348lmC6pQ2
Kk1Psmfu1H64p7UGlDzfOIBhm+NXHcE02F2RbgcaR1KBGPLBHRGiAa88vf5wSqwD
LBdvbD1tyJfyS7tpm6wNpZJMwQJC5bsNwzd7eU76xJBm7QcHuj2bcr8c9utFbtkf
NhRYMwIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAA0ZWAcEwZjSlZnf13qzg9C/
1PIvb4h4Wz2oADHHmszvd+Ze8qUaqin1Ds56gh/tlMomJPxjXUgxW4Y2sg2a3981
g7C5rtp6Us/2erEKuZUpeQCc36UeCaF9jmWUtmVRo1hMNn3FKlTECQyApVWo9kWW
Sr1RZMuYbxkmD+ZuBXspM2BrRLFwUaBhpGeukORG7cYE2SSbdYVFX85Te4una/+L
Z0WcWDyzSy4MnsSLjMILWV3RhvXkL7ASA/dOnA7+d50GATIYwwpYKte9GzKZfUH/
ADa1y47ZsJOtBn1cS4HOzWBHqao6WF7mcENE9UQtfPhU3IUmLgeypki47ZNqyGw=
-----END CERTIFICATE REQUEST-----
Loading