openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout certs/earnhardt-docker.duckdns.org.key \
-addext "subjectAltName = DNS:earnhardt-docker.duckdns.org" \
-x509 -days 365 -out certs/earnhardt-docker.duckdns.org.crt
docker run --entrypoint htpasswd httpd:2 -Bbn docker ****** > auth/htpasswd
version: '3.9'
services:
registry:
container_name: registry
image: registry:2
restart: always
ports:
- "5000:5000"
environment:
- "REGISTRY_HTTP_TLS_CERTIFICATE:/certs/earnhardt-docker.duckdns.org.crt"
- "REGISTRY_HTTP_TLS_KEY:/certs/earnhardt-docker.duckdns.org.key"
- "REGISTRY_AUTH:htpasswd"
- "REGISTRY_AUTH_HTPASSWD_REALM:Registry"
- "REGISTRY_AUTH_HTPASSWD_PATH:/auth/htpasswd"
- "REGISTRY_STORAGE_DELETE_ENABLED=true"
volumes:
- "./data:/var/lib/registry"
- "./certs:/certs"
- "./auth:/auth"
deploy:
resources:
limits:
memory: 2048M
docker-compose -d up
sudo cp certs/domain.crt \
/etc/docker/certs.d/earnhardt-docker.duckdns.org:5000/ca.crt
sudo cp certs/domain.crt \
/usr/local/share/ca-certificates/earnhardt-docker.duckdns.org.crt
sudo update-ca-certificates