{"id":19020312,"url":"https://github.com/benjy8001/nginx-proxy","last_synced_at":"2026-05-07T01:34:34.761Z","repository":{"id":49768728,"uuid":"475819879","full_name":"benjy8001/nginx-proxy","owner":"benjy8001","description":"Easy configurable reverse proxy","archived":false,"fork":false,"pushed_at":"2022-07-26T09:46:20.000Z","size":90,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T18:24:07.196Z","etag":null,"topics":["docker","https","nginx","proxy"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benjy8001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-30T10:01:35.000Z","updated_at":"2022-03-30T11:43:36.000Z","dependencies_parsed_at":"2022-08-30T15:41:45.100Z","dependency_job_id":null,"html_url":"https://github.com/benjy8001/nginx-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/benjy8001/nginx-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjy8001%2Fnginx-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjy8001%2Fnginx-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjy8001%2Fnginx-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjy8001%2Fnginx-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benjy8001","download_url":"https://codeload.github.com/benjy8001/nginx-proxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjy8001%2Fnginx-proxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264139557,"owners_count":23563246,"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","https","nginx","proxy"],"created_at":"2024-11-08T20:16:40.040Z","updated_at":"2026-05-07T01:34:29.713Z","avatar_url":"https://github.com/benjy8001.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\nlittle project to help your project to use nginx-proxy.\n\n![](docs/schema.png)\n\nnginx-proxy sets up a container running nginx and docker-gen. docker-gen generates reverse proxy configs for nginx and reloads nginx when containers are started and stopped.\n\nSee [jwilder/nginx-proxy repository](https://github.com/jwilder/nginx-proxy) for more informations.\n\n# Install\nClone this repository in parent directory's of your project \n```shell script\n$ mkdir -p [PROJECTS_DIRECTORY_PATH]/nginx-proxy \u0026\u0026 cd $_\n$ wget -q https://github.com/benjy8001/raw/master/bin/installer -O -|bash\n```\n\n# HOW TO USE\n### MANUAL CONFIGURATION\n\nAdd to your ~/.bashrc or ~/.zshrc \n```bash\nexport NGINX_PROXY=enabled\nexport NGINX_PROXY_DIRECTORY=[PROJECTS_DIRECTORY_PATH]/nginx-proxy\nPATH=$PATH:$NGINX_PROXY_DIRECTORY/bin\n```\n\n### ACTIVATE OR NOT\ndefine an environment variable to \"enabled\" or \"disabled\" usage of nginx-proxy.\n\n```bash\n$ export NGINX_PROXY=enabled\n$ export NGINX_PROXY=disabled\n```\n\nor edit .env file\n\n```dotenv\n[...]\nNGINX_PROXY=enabled\n[...]\n```\n\n### UPDATE YOUR MAKEFILE\n\nadd lines in your Makefile and call label:\n\n\n```makefile\nrequire-nginx:\nifndef NGINX_PROXY_DIRECTORY\n\tprintf \" \\033[31m  You should install nginx proxy ... \\033[0m\\n\"\n\tprintf \" \\n\"\n\tprintf \" \\033[31m cd ~/Projects \u0026\u0026 mkdir nginx-proxy \u0026\u0026 cd nginx-proxy \\033[0m\\n\"\n\tprintf \" \\033[31m wget -q https://github.com/benjy8001/nginx-proxy/raw/master/bin/installer -O -|bash \\033[0m\\n\"\n\tprintf \" \\n\"\n\texit 1\nendif\n\nstart_nginx_proxy: \nifeq (${NGINX_PROXY}, enabled)\n\tmake require-nginx \n\tnginx_proxy\nendif\n\nstart: start_nginx_proxy\n```\n\n\nExample :\n\n```makefile\n\ninclude .env\nexport\n\nrequire-nginx:\nifndef NGINX_PROXY_DIRECTORY\n\tprintf \" \\033[31m  You should install nginx proxy ... \\033[0m\\n\"\n\tprintf \" \\n\"\n\tprintf \" \\033[31m cd ~/Projects \u0026\u0026 mkdir nginx-proxy \u0026\u0026 cd nginx-proxy \\033[0m\\n\"\n\tprintf \" \\033[31m wget -q https://github.com/benjy8001/raw/master/bin/installer -O -|bash \\033[0m\\n\"\n\tprintf \" \\n\"\n\texit 1\nendif\n\nstart_nginx_proxy:\nifeq (${NGINX_PROXY}, enabled)\n\tmake require-nginx \n\tnginx_proxy\nendif\n\nregistry_login: ## login on registry\nregistry_login:\n\tdocker login babel.ngc-data.fr:8443\n\nstart-docker: ## Start the dockers\nstart-docker: registry_login start_nginx_proxy\n\t@docker-compose  up -d\n\nstart: ## alias of start-docker\nstart: start-docker\n\n.DEFAULT_GOAL := help\nhelp:\n\t@grep -E '(^[a-zA-Z_-]+:.*?## .*$$)|(^## )' $(MAKEFILE_LIST) | awk 'BEGIN {FS = \":?## \"}; {printf \"\\033[32m%-30s\\033[0m %s\\n\", $$1, $$2}' | sed -e 's/\\[32m##/[33m/' | sed 's/Makefile.\\(\\s\\)*//'\n.PHONY: help\n\n```\n\n### UDPATE YOUR DOCKER-COMPOSE or DOCKER COMMAND\n\nThen start any containers you want proxied with an env var `VIRTUAL_HOST=subdomain.youdomain.com`\n```shell script\n$ docker run -e VIRTUAL_HOST=foo.bar.com  ...\n```\nThe containers being proxied must expose the port to be proxied, either by using the EXPOSE directive in their Dockerfile or by using the `--expose` flag to docker run or docker create.\n\nProvided your DNS is setup to forward foo.bar.com to the host running nginx-proxy, the request will be routed to a container with the `VIRTUAL_HOST` env var set.\n\nYou can also define env vars in your `docker-compose.yml`\n\n```yaml\nversion: \"3.3\"\nservices:\n  api_httpd:\n    image: nginx\n    environment:\n      VIRTUAL_HOST: subdomain.youdomain.com\n      VIRTUAL_PORT: 80\n```\n\n### USE SSL \n\n#### Setup\nTo use ssl (https) you need to generate a local authority root certificate using this command :\n```bash\nnginx_proxy_ssl gen_authority\n```\n(you will need to generate a new certificate after expiration (2 years))\n\nThen, make your web browser trust the root certificate (`docker/certs/AUTHORITY.crt`) as an authority (https://windowsreport.com/install-windows-10-root-certificates/).\n\n#### Usage\n\nYou can add task to you Makefile\n\n```Makefile\n\n\nadd-certificates: require-nginx\nifeq (\"$(wildcard ${NGINX_PROXY_DIRECTORY}/docker/certs/my.domain.test.crt)\",\"\")\n\techo \"generating nginx proxy certs\"\n\tnginx_proxy_ssl gen my.domain.test\n\tnginx_proxy restart\nelse\n\techo \"certs aldready added\"\nendif\n\nstart_nginx_proxy: add-certificates\n\tnginx_proxy\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenjy8001%2Fnginx-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenjy8001%2Fnginx-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenjy8001%2Fnginx-proxy/lists"}