# honk [honk](/https://humungus.tedunangst.com/r/honk) is an Activitypub software that focused on Single-user instance. \\ ## Install [honk](/https://humungus.tedunangst.com/r/honk) is available at OpenBSD ports. # pkg_add honk ## Configuring httpd.conf httpd will used for [acme-client](/Acme-client.Configure). Edit `/etc/httpd.conf`: # $OpenBSD: httpd.conf,v 1.22 2020/11/04 10:34:18 denis Exp $ server "example.com" { listen on * port 80 location "/.well-known/acme-challenge/*" { root "/acme" request strip 2 } location * { block return 302 "https://$HTTP_HOST$REQUEST_URI" } } Replace `example.com` with your hostname. Check the configuration with `httpd -n`, if it is OK enable and start relayd (as root): # rcctl enable httpd # rcctl start httpd ## Configuring relayd.conf relayd will be used as the reverse proxy sitting in front of honk. Insert the following configuration in `/etc/relayd.conf`: # $OpenBSD: relayd.conf,v 1.4 2018/03/23 09:55:06 claudio Exp $ ext_inet="" ext_inet6="" table { 127.0.0.1 } table { 127.0.0.1 } http protocol honk { # Protocol for upstream honk server #tcp { nodelay, sack, socket buffer 65536, backlog 128 } # Uncomment and adjust as you see fit tls { keypair example.com } # Append a bunch of headers match request header append "X-Forwarded-For" value "$REMOTE_ADDR" # This two header and the next one are not strictly required by honk but adding them won't hurt match request header append "X-Forwarded-By" value "$SERVER_ADDR:$SERVER_PORT" match request header append "Connection" value "upgrade" } relay www { listen on $ext_inet port https tls # Comment to disable listening on IPv4 protocol honk forward to port 4000 } relay www6 { listen on $ext_inet6 port https tls # Comment to disable listening on IPv6 protocol honk forward to port 4000 } Change `example.com` with your instance domain. Again, change `` and `` to your server's address(es) and comment one of the two listen options if needed. Check the configuration with `relayd -n`, if it is OK enable and start relayd (as root): # rcctl enable relayd # rcctl start relayd ## Setting the honk up We need to access `/var/honk` to setup database. So login as root $ doas su Go to `/var/honk`, Then set up database. # cd /var/honk # doas -u _honk honk init username: yourusername password: listenaddr: 127.0.0.1:4000 servername: example.com Replace `yourusername` with your username, `example.com` to your hostname. Then start the server. # rcctl start honk If server succesfully started, You may start it during boot. # rcctl enable honk Finally, You can visit https://example.com to see your instance. You may also adjust your instance settings by doing `doas -u _honk honk admin` (Every `honk` command must be run under `_honk` user). Also read `honk(1)` ## Managing users [honk](/https://humungus.tedunangst.com/r/honk) is actually focused for single user instance, But it can also used for multiple users. * Adding user can done by executing `doas -u _honk honk adduser` * Changing user password can done by executing `doas -u _honk honk chpass` * Deleting user can done by executing `doas -u _honk honk deluser` ## User interface basic honk is also known for it's humorous UI. An post is a "honk". Here's some info to get you started: In [honk](/https://humungus.tedunangst.com/r/honk), The users that you follow is called as "honkers" which you can manage at `menu -> honkers` * `it's honking time` will create a post Post Actions: * `bonk` repost, rehonk, or reblog. * `honk back` reply to a post * `zonk` Delete a post * `ack` like a post. * `badonk` react to a post. You can modify the text by editing `header.html` under `views` directory. \\ \\ And you may also like customizing your instance by copying `style.css` to `local.css` and edit `local.css` under `views` directory. ## Also read * [intro(1)](/https://humungus.tedunangst.com/r/honk/m) - Introduction to Honk documentation * [honk(1)](/https://humungus.tedunangst.com/r/honk/m/honk.1) - User manual * [honk(3)](/https://humungus.tedunangst.com/r/honk/m/honk.3) - Honk API documentation * [honk(5)](/https://humungus.tedunangst.com/r/honk/m/honk.5) - Honk composition * [honk(8)](/https://humungus.tedunangst.com/r/honk/m/honk.8) - Administration manual * [hfcs(1)](/https://humungus.tedunangst.com/r/honk/m/hfcs.1) - Honk Filtering and Censorship System.