How do I open / close ports?

ahti currently uses iptables for this. So you better learn the syntax.
As a quick cheatsheet, you can run sudo iptables -S to see examples.

TCP port rules live in the TCP table, UDP port rules in the UDP table.

Once you have your command ready, say -A TCP -p tcp --dport 22 -j ACCEPT -m comment --comment 'ssh', be prepared to do the following:

sudo iptables -A TCP -p tcp --dport 22 -j ACCEPT -m comment --comment 'ssh'
sudo ip6tables -A TCP -p tcp --dport 22 -j ACCEPT -m comment --comment 'ssh'

And then save it all:

sudo rc-service iptables save
sudo rc-service ip6tables save

How do I point my own URL at ahti?

Take a look at /etc/h2o.conf. You will want to add your domain under hosts:. Draw inspiration from the other domains in the file.

For SSL, make sure that you have the following under your domain’s "/"::

file.dir: /var/www/certbot

Once you have that, run:

And you should be set.

How do I change how the website serves a specific path?

Take a look at /etc/h2o.conf. You will likely want to:

For more configuration options, see the h2o documentation. As an example:

"/~my/awesome/path":
  mruby.handler-file: /usr/share/h2o/mruby/httpredir.rb
  header.set: "X-My-Custom-Header: Is Awesome"
  file.dir: /home/my/public_html/awesome/path

What package is responsible for this file?

apk info --who-owns `which usermod`

Who is Ahti?

Ahti, the god of the sea and of fishing, is sometimes portrayed as a man with a handlebar moustache and beard of moss.

“Ahti, god of the sea and fishing”, by jmf