Somewhat Meaningless Tech (Mis)adventures

Today I moved this blog from j5155.duckdns.org to here, j5155.page. The domain name was extremely cheap to acquire using Porkbun.

Moving to a new domain with nginx and certbot

To migrate, all I had to do was change the domain name in nginx and the file name of the the certificate. Then, I just ran certbot certonly repeatedly for the domain shown in the file not found error until it worked.

Today I setup this very website using Writefreely, a free ARM Oracle cloud server, DuckDNS, NGINX, and Certbot. It was significantly more complex then I expected.

Issue 1: No ARM binary

Writefreely's provided binaries did not include a version compatible with the server I had. No problem, I thought, I'll just compile from source. However, the source compiling instructions referenced go get, which no longer works, so I had to use the slightly more complex step of cloning the repository manually.

However, the command in their instructions cloned the master branch and default tag, which refused to compile; one rm -rf and Google of the right command later and it finally output a binary I could use (which I might redistribute if I find a good way of hosting it). After combining that binary with the binary download's included static files, I was finally able to run Writefreely for the first time and access it directly. However, that was by no means the end of it.

Issue 2: Networking

After I finally got Writefreely itself to run, I added a configuration for it in my existing NGINX reverse proxy setup (which I will explain in a future post). It could then be accessed through NGINX on localhost, but I still couldn't access it from the external domain/IP. A few false leads later and I realized it was because I had my port settings in the Oracle networking manager misconfigured; despite explicitly allowing traffic on port 80 & 443, it didn't work until I had allowed bidirectional traffic on all ports(???). This is probably something I should look into in the future.

Issue 3: HTTPS

Using Certbot was probably the easiest part of all of this. Once I had worked out the networking issues, it was just one command and the website was immediately on HTTPS. Up there with Tailscale in my all time favorite tools.

Overall, if you'd prefer paying $6/mo to write.is to dealing with issues like this, it would get you the same for significantly less work. I mainly did things this way because I already had the infrastructure in place, I didn't want to pay for a subscription, and I enjoyed the challenge. I think that if you don't already have a server setup, and you value your time at more then minimum wage, paying for the subscription would be significantly cheaper.