- Learnings
- Strato: Domain and DNS provider
- Setting up the custom domain for GitHub Pages
- Content for GitHub Pages
- Jekyll Theme
- Previous website setup
- The file CNAME contains the domain name.
apex domain
is a domain without a leadingwww
.- Some website data (DNS, SSL encryption) can be inspected via the connection icon in the address bar of a browser.
https://foobar.chris-grieser.de/some/pages/here?query=asdf
^---------------------^
this part is the realm of DNS
^-------------------------^
this part is all up to the server
- Domain: https://chris-grieser.de/
- bought via Strato
- Allows up to 10 subdomains, however due to Strato only allowing one
A
andAAA
record, it is not possible to use any subdomains with GitHub pages (subdomain.chris-grieser.de
). Subsites though should still be possible (chris-grieser.de/subsite
). - My package at Strato includes a basic SSL certificate. It does only offer encryption for the main domain, not any subdomains. However, due to using GitHub pages, it's the site uses the certificate from "Let's encrypt" (the provider used by GitHub).
- GitHub Pages docs: Quickstart
- GitHub Pages docs: Manage custom domain
- Using Strato as domain and as DNS provider.
Note
When doing DNS changes, removing and re-adding the custom
domain
in the Pages
settings may be required.
- Strato's domain config only offers
A
andAAAA
as the type of address. - GitHub names 4 addresses each for
A
andAAAA
, butstrato.de
only accepts one each. This restricts stability/reachability, but is tolerable for just a personal website.
# verify A/AAAA records
dig chris-grieser.de +noall +answer -t A
dig chris-grieser.de +noall +answer -t AAAA
# expected output
chris-grieser.de. 150 IN A 185.199.108.153
chris-grieser.de. 92 IN AAAA 2606:50c0:8000::153
- At the Strato dashboard, set the CNAME for the domain, pointing
www.chris-grieser.de
tochrisgrieser.github.io
. - Having both A/AAAA records and the CNAME record set up results in passing GitHub's DNS check (at the page settings).
Tip
GitHub uses a CNAME
file to store the custom domain name in the repository.
The "CNAME" mentioned in the GitHub documentation, however, refers to the
CNAME record at the DNS provider.
- GitHub docs: Verifying a custom domain
- Note: the
Pages
settings mentioned in the docs refer to the settings in the GitHub profile, not thePages
settings of the*.github.io
repository. (That is, the verification is done here: https://github.com/settings/pages.)
- Note: the
- At the Strato dashboard, set the TXT for the domain, pointing
_github-pages-challenge-chrisgrieser.chris-grieser.de
to the{value}
listed on the page.
# additional confirmation
dig _github-pages-challenge-chrisgrieser.chris-grieser.de +nostats +nocomments +nocmd TXT
# expected output
_github-pages-challenge-chrisgrieser.chris-grieser.de. 150 IN TXT "{value}"
Are set in the _config.yml
file.
# Builtin themes for GitHub Pages: https://pages.github.com/themes/
theme: jekyll-theme-modernist
# Remote themes, allowing any Jekyll theme: https://jekyllrb.com/docs/themes/
plugins: [jekyll-remote-theme]
remote_theme: pages-themes/modernist@v0.2.0
Information here kept for reference, the website itself does no longer exist.
Components:
- Notion public sites & Fruition for the content.
- Strato for the domain.
- Cloudflare was used as DNS service.
I followed the instructions on the Fruition website.