https://github.com/nephatrine/docker-nginx-ssl
[mirror] Container w/ NGINX & LetsEncrypt
https://github.com/nephatrine/docker-nginx-ssl
alpine docker docker-image nginx reverse-proxy
Last synced: 25 days ago
JSON representation
[mirror] Container w/ NGINX & LetsEncrypt
- Host: GitHub
- URL: https://github.com/nephatrine/docker-nginx-ssl
- Owner: nephatrine
- License: isc
- Created: 2018-05-02T18:33:06.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2026-02-22T22:02:36.000Z (4 months ago)
- Last Synced: 2026-02-23T02:56:10.574Z (4 months ago)
- Topics: alpine, docker, docker-image, nginx, reverse-proxy
- Language: BitBake
- Homepage: https://code.nephatrine.net/NephNET/docker-nginx-ssl
- Size: 185 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# NGINX Reverse Proxy
[](https://code.nephatrine.net/NephNET/docker-nginx-ssl)
[](https://github.com/nephatrine/docker-nginx-ssl)
[](https://code.nephatrine.net/NephNET/-/packages/container/nginx-ssl/latest)
[](https://hub.docker.com/repository/docker/nephatrine/nginx-ssl/general)
[](https://code.nephatrine.net/nephatrine/unraid-containers)
[](https://opensource.org/licenses/ISC)
This is an Alpine-based container hosting NGINX to act as a reverse proxy
allowing access to other containerized web applications and centralizing SSL
configuration. You can also serve simple HTML websites with it, of course. It
includes certbot/letsencrypt to handle SSL certificates and renewal.
## Supported Tags
- `nginx-ssl:1.29.8`: NGINX Mainline 1.29.8
- `nginx-ssl:1.30.0`: NGINX Stable 1.30.0
## Software
- [Alpine Linux](https://alpinelinux.org/)
- [Skarnet S6](https://skarnet.org/software/s6/)
- [s6-overlay](https://github.com/just-containers/s6-overlay)
- [NGINX](https://nginx.org/)
- [Certbot](https://certbot.eff.org/)
## Configuration
These are the configuration and data files you will likely need to be aware of
and potentially customize.
- `/mnt/config/etc/mime.types`
- `/mnt/config/etc/nginx.conf`
- `/mnt/config/etc/nginx.d/*`
Modifications to some of these may require a service restart to pull in the
changes made.
You can place simple html/css files in the following location to serve them with
the default settings:
- `/mnt/config/www/default/*`
### Container Variables
- `TZ`: Time Zone (i.e. `America/New_York`)
- `PUID`: Mounted File Owner User ID
- `PGID`: Mounted File Owner Group ID
- `ADMINIP`: Administrator IP
- `TRUSTSN`: Trusted Subnet (i.e. `192.168.0.0/16`)
- `DNSADDR`: DNS Servers (i.e. `8.8.8.8 8.8.4.4`)
- `SSLEMAIL`: LetsEncrypt Email
- `SSLDOMAINS`: LetsEncrypt Domains
- `B_MODULI`: `dhparam.pem` Key Sizes
- `B_RSA`: RSA SSL Key Size
- `B_ECDSA`: Use ECDSA SSL Keys (0 for RSA)
## Testing
### docker-compose
```yaml
services:
nginx-ssl:
image: nephatrine/nginx-ssl:latest
container_name: nginx-ssl
environment:
TZ: America/New_York
PUID: 1000
PGID: 1000
ports:
- 80:80/tcp
- 443:443/tcp
- 443:443/udp
volumes:
- /mnt/containers/nginx-ssl:/mnt/config
```
### docker run
```sh
docker run --rm -ti code.nephatrine.net/nephnet/nginx-ssl:latest /bin/bash
```