{"id":23381267,"url":"https://github.com/bvis/docker-nginx-registry-fe","last_synced_at":"2026-05-20T07:41:23.796Z","repository":{"id":149012762,"uuid":"83370916","full_name":"bvis/docker-nginx-registry-fe","owner":"bvis","description":"It allows to add a secure layer based on basic auth to an existing registry instance","archived":false,"fork":false,"pushed_at":"2017-05-16T17:51:46.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-14T05:29:51.988Z","etag":null,"topics":["docker","nginx","registry"],"latest_commit_sha":null,"homepage":null,"language":"Nginx","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bvis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-28T00:23:11.000Z","updated_at":"2019-08-26T19:24:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e6b1730-8b02-4eda-9d75-f1041e581d98","html_url":"https://github.com/bvis/docker-nginx-registry-fe","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvis%2Fdocker-nginx-registry-fe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvis%2Fdocker-nginx-registry-fe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvis%2Fdocker-nginx-registry-fe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvis%2Fdocker-nginx-registry-fe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bvis","download_url":"https://codeload.github.com/bvis/docker-nginx-registry-fe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247803257,"owners_count":20998733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","nginx","registry"],"created_at":"2024-12-21T20:48:38.269Z","updated_at":"2026-05-20T07:41:18.756Z","avatar_url":"https://github.com/bvis.png","language":"Nginx","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nginx Registry FE\n\nProvides basic auth and TLS support when a variable is defined.\n\nAn usual configuration would be to have this service running on its own network.\n\n## Supported Variables\n\n- REGISTRY_ENDPOINT=Registry service address [registry:5000 by default]\n- SERVER_NAME=Server name used when a TLS certificate is provided\n- HTPASSWD_FILE=Path of the htpasswd file used for provide basic auth\n- TLS_CERT=TLS certificate file\n- TLS_KEY=TLS Key file\n\n## Preconfigure service dependencies\n\nThe image assumes by default that you are running a registry service and it has connectivity.\nIn the next example I'm configuring a common network to ensure connectivity and a registry service backed by S3, the [official registry image](https://hub.docker.com/_/registry/) could be used instead.\n\n```bash\n$ docker network create --driver overlay registry\n$ docker \\\n    service create --name registry \\\n      --reserve-memory 100m \\\n      --limit-memory 256m \\\n      --network registry \\\n      --publish 5000:5000 \\\n      -e AWS_BUCKET=${AWS_S3_BUCKET} \\\n      -e AWS_REGION=${AWS_REGION} \\\n      -e STORAGE_PATH=/registry \\\n      -e AWS_KEY=${AWS_ACCESS_KEY_ID_S3} \\\n      -e AWS_SECRET=${AWS_SECRET_ACCESS_KEY_S3} \\\n      softonic/registry-s3:latest\n```\n\n## Configuration with TLS (recommended)\n\nIn this examples I'm using docker swarm secrets for security, the same could be achieved adding or mounting the needed files.\n\n### Create `htpasswd` file\n\nBefore the configuration you'll need a valid `htpasswd` file. If you don't have any you can create it easily with the next commands:\n\n```bash\n$ echo -n 'basi:' \u003e\u003e nginx.htpasswd\n$ openssl passwd -apr1 \u003e\u003e nginx.htpasswd\n```\n\nYou'll be prompted for the password.\n\n### Create secrets\n\nCreate the secrets that contain the TLS certificates and the user/password for auth.\n\n```bash\n$ docker secret create \\\n  nginx-registry-fe_domain.crt \\\n  --label service=nginx-registry-fe \\\n  domain.crt\n$ docker secret create \\\n  nginx-registry-fe_domain.key \\\n  --label service=nginx-registry-fe \\\n  domain.key\n$ docker secret create \\\n  nginx-registry-fe_htpasswd \\\n  --label service=nginx-registry-fe \\\n  nginx.htpasswd\n```\n\n### Launch service\n\n```bash\n$ docker \\\n    service create \\\n    --name nginx-registry-fe \\\n    --reserve-memory 32m \\\n    --limit-memory 64m \\\n    --publish 443:443 \\\n    --network registry \\\n    --secret source=nginx-registry-fe_domain.crt,target=domain.crt \\\n    --secret source=nginx-registry-fe_domain.key,target=domain.key \\\n    --secret source=nginx-registry-fe_htpasswd,target=nginx.htpasswd \\\n    -e TLS_CERT=/run/secrets/domain.crt \\\n    -e TLS_KEY=/run/secrets/domain.key \\\n    basi/nginx-registry-fe:latest\n```\n\n## Configuration without TLS (not recommended)\n\nI'd suggest to avoid this configuration unless this image works under another layer that provides automatic TLS management.\n\n### Create `htpasswd` file\n\nBefore the configuration you'll need a valid `htpasswd` file. If you don't have any you can create it easily with the next commands:\n\n```bash\n$ echo -n 'basi:' \u003e\u003e nginx.htpasswd\n$ openssl passwd -apr1 \u003e\u003e nginx.htpasswd\n```\n\nYou'll be prompted for the password.\n\n### Create secrets\n\nCreate the secrets that contain user/password for auth.\n\n```bash\n$ docker secret create \\\n  nginx-registry-fe.htpasswd \\\n  --label service=nginx-registry-fe \\\n  nginx.htpasswd\n```\n\n### Launch service\n\n```bash\n$ docker \\\n    service create \\\n    --name nginx-registry-fe \\\n    --reserve-memory 32m \\\n    --limit-memory 64m \\\n    --publish 80:80 \\\n    --network registry \\\n    --secret source=nginx-registry-fe.htpasswd,target=nginx.htpasswd \\\n    basi/nginx-registry-fe:latest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbvis%2Fdocker-nginx-registry-fe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbvis%2Fdocker-nginx-registry-fe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbvis%2Fdocker-nginx-registry-fe/lists"}