all repos — honk @ db582287736dac7593852ab064267de1d2d37b55

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 Options
 53The following options control where
 54.Nm
 55looks for data.
 56.Bl -tag -width datadirx
 57.It Fl datadir
 58The root data directory, where the database and other user data are stored.
 59Requires write access.
 60Defaults to ".".
 61.It Fl viewdir
 62The root view directory, where html and other templates are stored.
 63Read only.
 64Defaults to ".".
 65.El
 66.Ss Init
 67Run the
 68.Ic init
 69command.
 70This will create the database and ask four questions, as well as creating
 71the initial user.
 72See below about importing existing data.
 73.Ss Operation
 74Run honk.
 75Log messages are sent to stderr and should probably be redirected to a file.
 76.Ss Customization
 77Add custom memes (stickers) to the
 78.Pa memes
 79data directory.
 80Image and video files are supported.
 81.Pp
 82Add custom emus (emoji) to the
 83.Pa emus
 84data directory.
 85Image files are supported.
 86.Pp
 87Site CSS may be overridden by creating a
 88.Pa views/local.css
 89file in the data directory.
 90A restart is required after changes.
 91.Pp
 92Custom HTML messages may be added to select pages by using the
 93.Ic admin
 94command.
 95A restart is required after changes.
 96.Bl -tag -width tenletters
 97.It server
 98Displayed on the home page.
 99.It about
100Displayed on the about page.
101.It login
102Displayed about the login form.
103.El
104.Pp
105.Ss User Admin
106New users can be added with the
107.Ic adduser
108command.
109This is discouraged.
110.Pp
111Passwords may be reset with the
112.Ic chpass Ar username
113command.
114.Pp
115Users may be deleted with the
116.Ic deluser Ar username
117command.
118.Ss Maintenance
119The database may grow large over time.
120The
121.Ic cleanup Op Ar days
122command exists to purge old data, by default 30 days.
123This removes unreferenced, unsaved posts and attachments.
124It does not remove any original content.
125.Ss Upgrade
126Stop the old honk process.
127Backup the database.
128Perform the upgrade with the
129.Ic upgrade
130command.
131Restart.
132.Pp
133There's also a
134.Pa blob.db
135file which is important to backup and restore.
136.Pp
137The current version of the honk binary may be printed with the
138.Ic version
139command.
140.Ss Security
141.Nm
142is not currently hardened against SSRF, server side request forgery.
143Be mindful of what other services may be exposed via localhost or the
144local network.
145.Ss Debug
146Debug mode may be enabled or disabled by running
147.Ic debug Ar on|off .
148In debug mode, secure cookies are disabled and templates are reloaded
149every request.
150.Ss Import
151Data may be imported and converted from other services using the
152.Ic import
153command.
154Posts are imported and backdated to appear as old honks.
155No other information is imported.
156.Pp
157Currently limited to Twitter import.
158This requires a Twitter data archive.
159After unzipping the data archive, navigate to the tweet_media directory
160and unzip any zip files contained within.
161.Dl ./honk import username twitter source-directory
162.Sh FILES
163.Nm
164files are split between the data directory and the view directory.
165Both default to "." but may be specified by command line options.
166.Pp
167The data directory contains:
168.Bl -tag -width views/local.css
169.It Pa honk.db
170The main database.
171.It Pa blob.db
172Media and attachment storage.
173.It Pa emus
174Custom emoji.
175.It Pa memes
176Stickers and such.
177.It Pa views/local.css
178Locally customized CSS.
179.El
180.Pp
181The view directory contains:
182.Bl -tag -width views
183.It Pa views
184HTML templates and CSS files.
185.El
186.Sh EXAMPLES
187This series of commands creates a new database, sets a friendly
188welcome message, and runs honk.
189.Bd -literal -offset indent
190honk-v98> make
191honk-v98> ./honk -datadir ../honkdata init
192username: puffy
193password: OxychromaticBlowfishSwatDynamite
194listen address: /var/www/honk.sock
195server name: honk.example.com
196honk-v98> ./honk -datadir ../honkdata admin
197honk-v98> date; ./honk -datadir ../honkdata >> log 2>&1
198.Ed
199.Pp
200Upgrade to the next version.
201Clean things up a bit.
202.Bd -literal -offset indent
203datadir> cp honk.db backup.db
204datadir> cd ../honk-v99
205honk-v99> make
206honk-v99> ./honk -datadir ../honkdata upgrade
207honk-v99> ./honk -datadir ../honkdata cleanup
208honk-v99> date; ./honk -datadir ../honkdata >> log 2>&1
209.Ed
210.Sh ENVIRONMENT
211Image processing and scaling requires considerable memory.
212It is recommended to adjust the datasize ulimit to at least 1GB.
213.Sh SEE ALSO
214.Xr intro 1 ,
215.Xr honk 1
216.Sh CAVEATS
217There's no online upgrade capability.
218Upgrades may result in minutes of downtime.