50 lines
1.2 KiB
Markdown
50 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
|