Skip to content

Instantly share code, notes, and snippets.

Last active November 14, 2022 10:34
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Honk installation on Alpine Linux
# install the required dependencies
doas apk update
doas apk add build-base mercurial go sqlite sqlite-libs sqlite-dev
# build honk
cd ~
hg clone && cd honk && make
# create dir to store honk and its data in
doas mkdir /var/honk
doas chown -R alpine:nobody /var/honk # we'll take temporary ownership to make setup easier
# move honk in to its new home :)
cp ~/honk/honk /var/honk/honk && cp -r ~/honk/views/ /var/honk/views/
# init honk
# follow the prompts:
# username: (the username you want)
# password: (the password you want)
# listenaddr: (tcp or unix:, /var/www/honk.sock, etc.) - I used
# servername: (public DNS name:
cp /var/honk
./honk init
# install caddy
doas apk add caddy
# edit caddyfile and replace with my caddyfile
# (i use nano but you can use whatever)
doas nano /etc/caddy/Caddyfile
# create an openrc unit for honk
# paste in my openrc unit
doas nano /etc/init.d/honk
doas chmod +x /etc/init.d/honk
# set permissions on /var/honk accordingly
doas chown -R nobody:nobody /var/honk
# start everything and check it works
doas rc-service honk start && doas rc-service caddy start
# navigate to your domain and check that you get a very purple page :)
# persist honk and caddy across reboots
doas rc-update add caddy && doas rc-update add honk
# Insert your domain below
reverse_proxy :8080
honk_dir="/var/honk" # or wherever
command="/var/honk/honk" # full path to honk binary, should be chmod +x by the go compiler
command_args="-datadir ${honk_dir} -viewdir ${honk_dir}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment