Skip to content

Instantly share code, notes, and snippets.

@timbaas
Last active January 15, 2019 13:28
Show Gist options
  • Save timbaas/5d08914dae2a1c5faad9676a9cffef05 to your computer and use it in GitHub Desktop.
Save timbaas/5d08914dae2a1c5faad9676a9cffef05 to your computer and use it in GitHub Desktop.
Docker Private Registry (using docker-compose, nginx-proxy, jrcs/letsencrypt-nginx-proxy-companion, registry:2)
version : "2"
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- 80:80
- 443:443
volumes:
- /etc/pdr/html:/usr/share/nginx/html
- /etc/pdr/vhost.d:/etc/nginx/vhost.d
- /etc/pdr/certs:/etc/nginx/certs:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
labels:
- "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"
nginx-letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
links:
- nginx-proxy
volumes:
- /etc/pdr/html:/usr/share/nginx/html
- /etc/pdr/vhost.d:/etc/nginx/vhost.d
- /etc/pdr/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
pdr:
image: registry:2
volumes:
- /etc/docker-nginx/data:/var/lib/registry
- /etc/docker-nginx/certs:/certs
- /etc/docker-nginx/auth:/auth
environment:
- VIRTUAL_HOST=docker.example.com
- VIRTUAL_PORT=5000
- LETSENCRYPT_HOST=docker.example.com
- LETSENCRYPT_EMAIL=mail@example.com
- REGISTRY_AUTH=htpasswd
- REGISTRY_AUTH_HTPASSWD_REALM="ExampleRealm"
- REGISTRY_AUTH_HTPASSWD_PATH=/auth/.htpasswd
@timbaas
Copy link
Author

timbaas commented Jan 15, 2019

Create passwords file

docker run --entrypoint htpasswd registry:2 -Bbn username password > /etc/pdr/auth/.htpasswd

Start containers

docker-compose up -d

Credits

Thanks to: https://mtarnawa.org/2017/11/10/running-secured-private-docker-registry-nginx-proxy-letsencrypt/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment