Self-Hosting a Blog for $0 with Writefreely on ARM
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.