nginx-certbot/README.md

77 lines
2.3 KiB
Markdown
Raw Normal View History

2017-01-23 06:58:30 +00:00
# docker-nginx-certbot
Create and automatically renew website SSL certificates using the letsencrypt free certificate authority, and its client *certbot*, built on top of the nginx server.
2015-11-22 19:46:24 +00:00
# More information
Find out more about letsencrypt: https://letsencrypt.org
2016-09-21 01:12:59 +00:00
Certbot github: https://github.com/certbot/certbot
2017-01-23 06:58:30 +00:00
This repository was originally forked from `@henridwyer`, many thanks to him for the good idea. I've rewritten about 90% of this repository, so it bears almost no resemblance to the original. This repository is _much_ more opinionated about the structure of your webservers/containers, however it is easier to use as long as all of your webservers follow that pattern.
2018-05-02 21:34:23 +00:00
# Usage
Create a config directory for your custom configs:
```
mkdir conf.d
2018-05-02 21:34:23 +00:00
```
And a `.conf` file such as in that directory:
2018-05-02 21:34:23 +00:00
```nginx
server {
listen 443 ssl;
server_name server.company.com;
ssl_certificate /etc/letsencrypt/live/server.company.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server.company.com/privkey.pem;
location / {
...
}
}
```
Wrap this all up with a `docker-compose.yml` file:
```yml
version: '3'
services:
frontend:
restart: unless-stopped
build: frontend
ports:
- 80:80/tcp
- 443:443/tcp
environment:
- CERTBOT_EMAIL=owner@company.com
volumes:
- ./conf.d:/etc/nginx/user.conf.d
2018-05-02 21:34:23 +00:00
...
```
2016-09-21 01:12:59 +00:00
# Changelog
2018-05-02 06:03:42 +00:00
### 0.8
- Ditch cron, it never liked me anway. Just use `sleep` and a `while` loop instead.
### 0.7
2017-01-23 06:58:30 +00:00
- Complete rewrite, build this image on top of the `nginx` image, and run `cron`/`certbot` alongside `nginx` so that we can have nginx configs dynamically enabled as we get SSL certificates.
### 0.6
- Add `nginx_auto_enable.sh` script to `/etc/letsencrypt/` so that users can bring nginx up before SSL certs are actually available.
### 0.5
- Change the name to `docker-certbot-cron`, update documentation, strip out even more stuff I don't care about.
2017-01-02 05:34:59 +00:00
### 0.4
- Rip out a bunch of stuff because `@staticfloat` is a monster, and likes to do things his way
2016-09-21 23:35:19 +00:00
### 0.3
- Add support for webroot mode.
- Run certbot once with all domains.
2016-09-21 01:12:59 +00:00
### 0.2
- Upgraded to use certbot client
- Changed image to use alpine linux
2016-09-21 01:12:59 +00:00
### 0.1
- Initial release