Managing a myriad of goals and tasks in life can be difficult so I thought I’d try using software tools to keep track of them. As an avid Gitlab supporter I decided to use their Agile features.

Cloud instance

I stood up a cheap IPV6-only Fedora server on VULTR, disabled SSH password authentication, updated the system packages, installed wireguard-tools, configured a Wireguard interface with NetworkManager, added a port for Wireguard using firewalld, and installed Gitlab.

Unfortunately, the limited support for Wireguard in NetworkManager at the time meant I had to do the following with every change:

nmcli connection import type wireguard file wg0.conf

I initially forgot to add brackets around the IPv6 address of the Endpoint and add the port number. I also forgot to add an IP address to my local host.

Unfortunately, installation on Fedora 34 and 33 failed, but Centos 8 was successful. Centos 8 does not include wireguard-tools and has a 4.18 kernel, which doesn’t include Wireguard. I tried to install Wiregard on Centos 8, but the kernel module was never loaded since it couldn’t be found. It is listed by dkms status, but trying to build it using dkms build results in an error about missing headers. I updated the system packages (which included a new kernel), removed wireguard-dkms, and installed wireguard-dkms with no luck. But then after a reboot the following was successful:

dkms status
dkms build wireguard/...
dkms install wireguard/...
modprobe wireguard

Note I also had to use wg-quick rather than NetworkManager.

I then added the Wireguard interface to the internal zone and added services for Gitlab:

firewall-cmd --zone=internal --permanent --change-interface=wg0
firewall-cmd --zone=internal --permanent --add-service http
firewall-cmd --zone=internal --permanent --add-service https

Gitlab resource requirements

It appears that Linux killed the install because the instance didn’t have enough memory. I stopped firewalld and NetworkManager, which were the largest consumers of memory in the system, but it was still killed during install. The instance I was using provided 512 MB of memory and the next option provided 1024 MB, but it is twice the price. Unfortunately, 1024 MB also did not prove to be enough. A 4096 MB instance was enough to install and run the Gitlab application.

Gitlab Agile features

Unfortunately, basic functionality like Epics require a premium subscription that is $20/month/user. Atlassian has ended their very cheap licenses for self-hosted installs with one or two users, which I used years ago for a similar project.

OpenProject

Next, I thought I’d try to install OpenProject on CentOS 8. Unfortunately, dl.packager.io was not reachable from the cheapest IPv6-only instance. I wasn’t able to load the main page over Wireguard. Tunneling through a SSH LocalForward, the server reported a generic error.

At the same time I submitted a correction to OpenProject’s CentOS installation instructions, which they were very quick to update.