Using an API in bash

I’ve continued to work on my create server script from time to time. The latest update was checking that we could connect to the Hetzner API using the key that is given and bailing out if we cannot. curl is a interesting and useful tool. curl has been around since 1996 and it is ubiquitous. curl is simple to use: curl https://l10systems will download this website. It’s also very powerful with many, many options.

Read More

Hetzner server creation script revisited

I’ve written a couple of scripts to create servers on Hetzner over the years to facilitate small projects and experiementation. My older scripts used the Hetzner CLI which was fine but I wanted a version without that dependency or any other dependencies. So, I rewrote it in bash without the CLI by using curl to call the webservices. Initially, I had used jq to work with the returned JSON but since the requirements were pretty simple, I refactored that out.

Read More

Amped up

Hetzner introduced Ampere Altra Arm64 processors as an option for their cloud servers in April this year. I hadn’t tried them until recently but they seem to perform on par with the Intel offerings at similar price points at least in my anecdotal testing on some small instances. The pricing is quite good (as low as €3.79 per month in the US market). You save €0.50 if you use IPV6 only which might be OK for some use cases.

Read More

Faasd on Hetzner Cloud

Serverless computing is one of the new hot things so I wanted to check out OpenFaas. It worked as advertised during some experimentation on MicroK8s. The Kubernetes requirement makes sense for scalability and robustness, but adds a lot of overhead and complexity. It’s overkill if you just want to do some simple some simple experiments. Enter faasd. Faasd is “git push” for functions and is much simpler to run than the full OpenFaas.

Read More

Many tiny servers

I use LXD to create virtual servers on my main system to experiment around with stuff I might not want to install directly. It’s simple, fast and works well. I was curious if I could use it to do the same thing on a cloud server at Hetzner. The only problem was how to access the LXD container from outside. They are assigned IP4 addresses but those aren’t routable. However, the IPv6 address are routable.

Read More

Enhancing my server creation script

Over time, I’ve improved on my server create script by allowing for the inclusion of some configuration files that I find useful. To do this, I created a new Github repo for my dotfiles based on some inspiration by Mastering Vim. I’ve been using Vim for quite some time, but this book had some good ideas to make my usage even better. Among them, the idea of creating a Github repo for dotfiles.

Read More

Scripting Secure Ubuntu Server Creation

If you create a cloud virtual machine and run it for anything more than a few minutes, it quickly becomes apparent how much nefarious activity goes on. You will get hit with brute force attacks on all of the known ports (and some unknown ones) pretty much continuously from the first minute. I don’t know that there is much that cloud hosts can do about this. They have known IP ranges and I would assume that attackers constantly troll those known ranges.

Read More

Tutorial on Nextcloud

I wrote a tutorial on installing Nextcloud in the Hetzner Cloud that was just published on the Hetzner Community. Nextcloud is an interesting solution if you want to host your own file sharing space. Combined with the solid prices on Linux hosting at Hetzner, you can get a pretty capable solution for personal or small business for just a few Euro a month. The process is pretty simple since Nextcloud has a Snap package.

Read More

Wireguard on Ubuntu 20.04

I wanted to give Wireguard a try as a VPN solution so I spent a few minutes setting up a server on Hetzner and giving it a go. Long story short, it worked well and was straightforward but technical to set up and configure. First thing was to set up a server on Hetzner. For this, I used the hcloud cli tool. hcloud makes it really easy to set up servers and other stuff from the command line which IMHO is a just easier than clicking-and-clucking through a web GUI.

Read More