3 public-inbox-config - public-inbox config file description
11 The public-inbox config file is parseable by L<git-config(1)>.
12 This is a global configuration file for mapping/discovering
13 all public-inboxes used by a particular user.
15 =head1 CONFIGURATION FILE
20 mainrepo = /home/user/path/to/test.git
21 ; multiple addresses are supported
22 address = test@example.com
23 ; address = alternate@example.com
24 url = http://example.com/test
25 newsgroup = inbox.test
31 =item publicinbox.<name>.address
33 The email address of the public-inbox. May be specified
34 more than once for merging multiple mailing lists (or migrating
35 to new addresses). This must be specified at least once,
36 the first value will be considered the primary address for
37 informational purposes.
39 Default: none, required
41 =item publicinbox.<name>.mainrepo
43 The absolute path to the directory which hosts the
44 public-inbox. This must be specified once.
46 Default: none, required
48 =item publicinbox.<name>.url
50 The primary URL for hosting the HTTP/HTTPS archives.
51 Additional HTTP/HTTPS URLs may be specified via
52 C<$GIT_DIR/cloneurl> as documented in L<gitweb(1)>
54 Default: none, optional
56 =item publicinbox.<name>.newsgroup
58 The NNTP group name for use with L<public-inbox-nntpd(8)>. This
59 may be any newsgroup name with hierarchies delimited by '.'.
60 For example, the newsgroup for L<mailto:meta@public-inbox.org>
61 is: C<inbox.comp.mail.public-inbox.meta>
63 Omitting this for the given inbox will prevent the group from
64 being read by L<public-inbox-nntpd(1)>
66 Default: none, optional
68 =item publicinbox.<name>.watch
70 A location for L<public-inbox-watch(1)> to watch. Currently,
71 only C<maildir:> paths are supported:
74 watch = maildir:/path/to/maildirs/.INBOX.test/
76 Default: none; only for L<public-inbox-watch(1)> users
78 =item publicinbox.<name>.watchheader
81 watchheader = List-Id:<test.example.com>
83 Default: none; only for L<public-inbox-watch(1)> users
85 =item publicinbox.<name>.nntpmirror
87 This may be the full NNTP URL of an independently-run mirror.
88 For example, the https://public-inbox.org/meta/ inbox is
90 C<nntp://news.gmane.org/gmane.mail.public-inbox.general>
94 =item publicinbox.<name>.httpbackendmax
96 If a digit, the maximum number of parallel
97 L<git-http-backend(1)> processes to allow for cloning this
100 If an alphanumeric value starting with a lowercase alphabetic
101 character is specified, the inbox will use a L</NAMED LIMITER>
102 which can be shared by multiple inboxes.
104 Default: 32 (using a default limiter shared by all inboxes)
106 =item publicinbox.<name>.coderepo
108 The nickname of a "coderepo" section associated with the inbox.
109 May be specified more than once for M:N mapping of code repos to
110 inboxes. If enabled, diff hunk headers in patch emails will
111 link to the line numbers of blobs.
115 =item publicinbox.css
117 The local path name of a CSS file for the PSGI web interface.
118 May contain the attributes "media", "title" and "href" which match
119 the associated attributes of the HTML <style> tag.
120 "href" may be specified to point to the URL of an remote CSS file
121 and the path may be "/dev/null" or any empty file.
122 Multiple files may be specified and will be included in the
125 =item publicinboxmda.spamcheck
127 This may be set to C<none> to disable the use of SpamAssassin
128 L<spamc(1)> for filtering spam before it is imported into git
129 history. Other spam filtering backends may be supported in
134 =item publicinboxwatch.spamcheck
136 This may be set to C<spamc> to enable the use of SpamAssassin
137 L<spamc(1)> for filtering spam before it is imported into git
138 history. Other spam filtering backends may be supported in
143 =item publicinboxwatch.watchspam
145 This may be set to C<spamc> to enable the use of SpamAssassin
146 L<spamc(1)> for filtering spam before it is imported into git
147 history. Other spam filtering backends may be supported in
148 the future. This requires L<public-inbox-watch(1)>, but affects
149 all configured public-inboxes in PI_CONFIG.
153 =item publicinbox.nntpserver
155 Set this to point to the address of the L<public-inbox-nntpd(1)>
156 instance. This is used to advertise the existence of the NNTP
157 presnce in the L<PublicInbox::WWW> HTML interface.
159 Multiple values are allowed for servers with multiple
160 addresses or mirrors.
164 =item publicinbox.<name>.feedmax
166 The size of an Atom feed for the inbox. If specified more than
167 once, only the last value is used. Invalid values (<= 0) will
168 be treated as the default value.
172 =item coderepo.<name>.dir
174 The path to a git repository for "publicinbox.<name>.coderepo"
176 =item coderepo.<name>.cgitUrl
178 The URL of the cgit instance associated with the coderepo.
184 =head2 NAMED LIMITER (PSGI)
186 Named limiters are useful for preventing large inboxes from
187 monopolizing (or overloading) the server. Since serving git
188 clones (via L<git-http-backend(1)> can be memory-intensive for
189 large inboxes, it makes sense to put large inboxes on a named
190 limiter with a low max value; while smaller inboxes can use
195 =item publicinboxlimiter.<name>.max
197 The maximum number of parallel processes for the given limiter.
201 =head3 EXAMPLE WITH NAMED LIMITERS
203 ; big inboxes which require lots of memory to clone:
205 mainrepo = /path/to/big1
206 address = big1@example.com
209 mainrepo = /path/to/big2
210 address = big2@example.com
213 ; tiny inboxes which are easily cloned:
214 [publicinbox "tiny1"]
215 mainrepo = /path/to/tiny1
216 address = tiny1@example.com
217 [publicinbox "tiny2"]
218 mainrepo = /path/to/tiny2
219 address = tiny2@example.com
221 [publicinboxlimiter "big"]
224 In the above example, the "big1" and "big2" are limited to four
225 parallel L<git-http-backend(1)> processes between them.
227 However, "tiny1" and "tiny2" will share the default limiter
228 which means there can be 32 L<git-http-backend(1)> processes
237 Used to override the default "~/.public-inbox/config" value.
243 Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org>
245 The mail archives are hosted at L<https://public-inbox.org/meta/>
246 and L<http://hjrcffqmbrq6wope.onion/meta/>
250 Copyright 2016-2018 all contributors L<mailto:meta@public-inbox.org>
252 License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt>
256 L<git(1)>, L<git-config(1)>, L<public-inbox-daemon(8)>,
257 L<public-inbox-mda(1)>, L<public-inbox-watch(1)>