Installing Ghost on IPv6-only server
In general, the Ghost official installation guides are pretty good. Here are the key changes to make it work on an IPv6-only server:
-
Instead of creating an A record pointing your domain to the server’s IPv4 address, create an AAAA record pointing to your server’s IPv6 address.
-
ghost install
requires accessing several github.com endpoints, which do not support IPv6 yet. GitHub is working on it. Until GitHub officially supports IPv6, here’s the workaround: add the following entry to/etc/hosts
on the sever before runningghost install
:2a01:4f8:c010:d56::2 github.com 2a01:4f8:c010:d56::3 api.github.com 2a01:4f8:c010:d56::4 codeload.github.com 2a01:4f8:c010:d56::5 objects.githubusercontent.com 2a01:4f8:c010:d56::6 ghcr.io 2a01:4f8:c010:d56::7 pkg.github.com npm.pkg.github.com maven.pkg.github.com nuget.pkg.github.com rubygems.pkg.github.com
The IPv6 proxy server is provided by Daniel Winzen 🙏!
-
ghost setup ssl
will fail. Instead, follow the Certbot guide to provision and auto-renew SSL certificate. Note:nginx
onUbuntu 20
combo does not work on IPv6 because the snap store APIs do not support IPv6.