https://github.com/iamskok/nginx-reverse-proxy
Docker Compose example of Let's Encrypt Nginx reverse proxy
https://github.com/iamskok/nginx-reverse-proxy
docker docker-compose github-actions letsencrypt nginx renovate semantic-release
Last synced: 6 months ago
JSON representation
Docker Compose example of Let's Encrypt Nginx reverse proxy
- Host: GitHub
- URL: https://github.com/iamskok/nginx-reverse-proxy
- Owner: iamskok
- License: mit
- Created: 2021-06-03T23:41:45.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-03-09T18:32:48.000Z (7 months ago)
- Last Synced: 2025-04-14T19:12:42.910Z (6 months ago)
- Topics: docker, docker-compose, github-actions, letsencrypt, nginx, renovate, semantic-release
- Language: Dockerfile
- Homepage:
- Size: 43 KB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/iamskok/nginx-reverse-proxy/actions/workflows/ci.yml)
[](https://github.com/iamskok/nginx-reverse-proxy/releases)
[](https://hub.docker.com/r/iamskok/express-echo-hostname "Click to view the image on Docker Hub")
[](https://hub.docker.com/r/iamskok/express-echo-hostname 'DockerHub')
[](https://hub.docker.com/r/iamskok/express-echo-hostname 'DockerHub')
[](https://github.com/iamskok/nginx-reverse-proxy/tags)

# Nginx Reverse Proxy
This repository shows how to run multiple instances of the app behind [Nginx](https://www.nginx.com/) reverse proxy and served via HTTPS using [Let's Encrypt](https://letsencrypt.org/) certificate.
## Features ⚙️
- Updates Nginx config and reloads when containers are started or stopped
- Automatically renews Let's Encrypt certificates
- GitHub Action workflow:
- determines the next release version
- builds and pushes the image to Docker Hub
- starts Docker containers on a remote host## GitHub Secrets 🔒
[GitHub secrets](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository) that are required to run the workflow:
```
DOCKERHUB_TOKEN
DOCKERHUB_USERNAME
DOMAIN
REMOTE_IP
REMOTE_SSH_PRIVATE_KEY
REMOTE_USERNAME
```## Credits ❤️
- [nginx-proxy](https://github.com/nginx-proxy/nginx-proxy)
- [docker-gen](https://github.com/nginx-proxy/docker-gen)
- [acme-companion](https://github.com/nginx-proxy/acme-companion)
- [semantic-release](https://github.com/semantic-release/semantic-release)