Get nginx-proxy running in under 2 minutes
docker pull mesudip/nginx-proxy docker network create frontend docker run --network frontend \ --name nginx-proxy \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /etc/ssl:/etc/ssl \ -v /etc/nginx/dhparam:/etc/nginx/dhparam \ -p 80:80 \ -p 443:443 \ -d --restart always mesudip/nginx-proxy
Set VIRTUAL_HOST environment variable on any container:
docker run --network frontend \ --name wordpress-server \ -e VIRTUAL_HOST="wordpress.example.com" \ wordpress
docker run --network frontend \ --name docker-registry \ -e VIRTUAL_HOST='https://registry.example.com/v2 -> /v2; client_max_body_size 2g' \ -e PROXY_BASIC_AUTH="registry.example.com -> user1:password,user2:password2" \ registry:2
Powerful features that make Docker deployments effortless
One environment variable = live website. No nginx.conf files to manage.
Let's Encrypt SSL certificates generated and renewed automatically.
Support for wildcard certificates using Cloudflare API integration.
Built-in HTTP basic auth protection for sensitive applications.
Map unlimited Docker containers to different locations on same server.
Add manual nginx configurations when you need advanced customization.
Transform your Docker workflow with automated nginx management
Set VIRTUAL_HOST and your container is instantly accessible via custom domain with HTTPS.
Forget complex nginx configurations. Everything is automated based on container metadata.
SSL certificates are automatically requested, installed, and renewed for all your domains.
Run dozens of containerized applications on a single server with automatic routing.
nginx configuration updates happen automatically without service interruption.
Built-in security headers, SSL/TLS best practices, and authentication options.