In general, the Ghost official installation guides are pretty good. Here are the key changes to make it work on an IPv6-only server:
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 running ghost 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
on Ubuntu 20
combo does not work on IPv6 because the snap store APIs do not support IPv6.