all repos — honk @ 2fd1e75c678f2607b9a2b1a5ba167b2f13b33017

my fork of honk

docs/honk.8 (view raw)

  1.\"
  2.\" Copyright (c) 2019 Ted Unangst
  3.\"
  4.\" Permission to use, copy, modify, and distribute this software for any
  5.\" purpose with or without fee is hereby granted, provided that the above
  6.\" copyright notice and this permission notice appear in all copies.
  7.\"
  8.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 10.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 11.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 12.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 13.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 14.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 15.\"
 16.Dd $Mdocdate$
 17.Dt HONK 8
 18.Os
 19.Sh NAME
 20.Nm honk
 21.Nd honk administration
 22.Sh DESCRIPTION
 23The
 24.Nm
 25daemon processes messages from other federated servers.
 26This is the admin manual.
 27For user operation, see
 28.Xr honk 1 .
 29.Ss SETUP
 30.Pp
 31Set up a TLS reverse proxy.
 32.Nm
 33can listen on TCP or unix sockets, but will not terminate TLS.
 34https is a required component for federation.
 35.Pp
 36Make sure to pass the Host header, if necessary (as for nginx).
 37.Bd -literal -offset indent
 38proxy_set_header Host $http_host;
 39.Ed
 40.Ss BUILD
 41Building
 42.Nm
 43requires a go compiler and libsqlite.
 44On
 45.Ox
 46this is the go and sqlite3 packages.
 47Other platforms may require additional development libraries or headers
 48to be installed.
 49Run make.
 50Please be patient.
 51Even on fast machines, building from source can take several seconds.
 52.Ss INIT
 53Run the
 54.Ic init
 55command.
 56.Dl ./honk init
 57This will create the database and ask four questions, as well as creating
 58the initial user.
 59.Bd -literal -offset indent
 60username: (desired username)
 61password: (desired password)
 62listenaddr: (tcp or unix: localhost:31337, /var/www/honk.sock, etc.)
 63servername: (public DNS name: honk.example.com)
 64.Ed
 65.Ss OPERATION
 66Run honk.
 67.Dl date; ./honk >> log 2>&1
 68Log messages are sent to stderr and should probably be redirected to a file.
 69.Ss CUSTOMIZATION
 70Add custom memes (stickers) to the
 71.Pa memes
 72directory.
 73Image and video files are supported.
 74.Pp
 75Add custom emus (emoji) to the
 76.Pa emus
 77directory.
 78Image files are supported.
 79.Pp
 80Site CSS may be overridden by creating a
 81.Pa views/local.css
 82file.
 83.Pp
 84A custom message me be set by editing the database.
 85(Sorry.)
 86.Dl insert into config values ('servermsg', 'message');
 87.Pp
 88The
 89.Pa views/about.html
 90page doesn't change too frequently.
 91It should be safe to edit.
 92.Ss ADMIN
 93New users can be added with the
 94.Ic adduser
 95command.
 96This is discouraged.
 97.Dl ./honk adduser
 98.Pp
 99Passwords may be reset with the
100.Ic chpass
101command.
102.Dl ./honk chpass username
103.Ss MAINTENANCE
104The database may grow large over time.
105The
106.Ic cleanup
107command exists to purge old data, by default 30 days.
108.Ss UPGRADE
109Stop the old honk process.
110.Dl pkill honk
111Backup the database.
112.Dl cp honk.db backup.db
113Perform the upgrade with the
114.Ic upgrade
115command.
116.Dl ./honk upgrade
117Restart.
118.Dl ./honk
119.Pp
120There's also a
121.Pa blob.db
122file which is important to backup and restore.
123.Sh SECURITY
124.Nm
125is not currently hardened against SSRF, server side request forgery.
126Be mindful of what other services may be exposed via localhost or the
127local network.
128.Sh ENVIRONMENT
129Image processing and scaling requires considerable memory.
130It is recommended to adjust the datasize ulimit to at least 1GB.
131.Sh SEE ALSO
132.Xr intro 1 ,
133.Xr honk 1
134.Sh CAVEATS
135There's no online upgrade capability.
136Upgrades may result in minutes of downtime.