Mar 15, 2018 Tags: meta
After 3+ years on GitHub Pages (and as many years without HTTPS), blog.yossarian.net is now self-hosted and fully encrypted.
The setup was surprisingly simple:
blog.yossarian.net
and www.blog.yossarian.net
to the server that hosts
yossarian.netserver
blocks, one providing a HTTP 301 redirect)certbot-auto --extend
to extend my existing Let’s Encrypt cert to the new subdomainsdeploy.sh
script:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env bash
set -eo pipefail
installed() {
cmd=$(command -v "${1}")
[[ -n "${cmd}" ]] && [[ -f "${cmd}" ]]
return ${?}
}
installed jekyll || { echo "Missing jekyll"; exit 1; }
installed rsync || { echo "Missing rsync"; exit 1; }
jekyll build
[[ -d _site/ ]] || { echo "No _site dir?"; exit 1; }
rsync -avz --progress _site/ william@yossarian.net:/var/www/html/blog.yossarian.net/
Running deploy.sh
is one extra step compared to the automatic build and deployment process
provided by GitHub Pages, but it’s a trivial one. It also gives me more control over my site’s build
process — I’m no longer bound to GitHub’s transition away from
redcarpet support (or other future changes).
- William