49 lines
1.2 KiB
Markdown
49 lines
1.2 KiB
Markdown
This container provides fully automated SSL containers in IPv6
|
|
networks
|
|
|
|
## Requirements
|
|
|
|
You need to have docker configured to use IPv6. The following code can
|
|
be placed in /etc/docker/daemon.json:
|
|
|
|
```
|
|
{
|
|
"ipv6": true,
|
|
"fixed-cidr-v6": "2001:db8::/64"
|
|
}
|
|
```
|
|
|
|
You need to replace "2001:db8::/64" with your own IPv6 network.
|
|
|
|
Read more about [enabling IPv6 in docker](https://ungleich.ch/u/blog/how-to-enable-ipv6-in-docker/).
|
|
|
|
## How it works
|
|
|
|
IPv6 addresses are globally reachable, so IPv6 based containers can be
|
|
reached from anywhere in the world.
|
|
|
|
This container uses the domain **has-a.name**, which gives a
|
|
name to every IPv6 address.
|
|
|
|
Checkout how
|
|
[has-a.name](https://ungleich.ch/u/blog/has-a-name-for-every-ipv6-address/) works.
|
|
|
|
## How to use
|
|
|
|
Start the container and use the logs to gets its domain name:
|
|
|
|
```
|
|
id=$(docker run -d ungleich/nginx-letsencrypt-ipv6)
|
|
docker logs ${id} 2>/dev/null | grep "^Getting certificate"
|
|
Getting certificate for 2a0a-e5c1-0111-0777-0000-0242-ac11-0004.has-a.name
|
|
```
|
|
|
|
With this information, you can now connect to your container:
|
|
```
|
|
% curl https://2a0a-e5c1-0111-0777-0000-0242-ac11-0004.has-a.name
|
|
Welcome to 2a0a-e5c1-0111-0777-0000-0242-ac11-0004.has-a.name running with IPv6+LetsEncrypt
|
|
```
|
|
|
|
## How to extend it
|
|
|
|
TBD
|