]> Sergey Matveev's repositories - public-inbox.git/blob - Documentation/public-inbox-init.pod
script/*: set executable bit on -learn and -imapd
[public-inbox.git] / Documentation / public-inbox-init.pod
1 =head1 NAME
2
3 public-inbox-init - create or reinitialize a public-inbox
4
5 =head1 SYNOPSIS
6
7 B<public-inbox-init> [OPTIONS] NAME INBOX_DIR HTTP_URL ADDRESS [ADDRESS..]
8
9 =head1 DESCRIPTION
10
11 Creates an empty public-inbox or reinitializes an existing one.
12 It updates C<~/.public-inbox/config> by creating a
13 C<[publicinbox "NAME"]> section where
14 C<publicinbox.NAME.inboxdir> is C<INBOX_DIR>,
15 C<publicinbox.NAME.url> is C<HTTP_URL>, and
16 C<publicinbox.NAME.address> is C<ADDRESS>.  Multiple addresses
17 may be specified for inboxes with multiple addresses.
18
19 =head1 OPTIONS
20
21 =over
22
23 =item -V, --version FORMAT_VERSION
24
25 Specify C<2> here to use the scalable L<public-inbox-v2-format(5)>
26 if you have L<DBD::SQLite> installed.
27
28 The default is C<1> for the old L<public-inbox-v1-format(5)>,
29 but C<2> is strongly recommended for scalability if you have
30 L<DBD::SQLite>.
31
32 Default: C<1>
33
34 =item -L, --indexlevel <basic|medium|full>
35
36 Controls the indexing level for L<public-inbox-index(1)>
37
38 See L<public-inbox-config(5)> for more information.
39
40 Default: C<full>
41
42 =item --ng, --newsgroup NEWSGROUP
43
44 The NNTP group name for use with L<public-inbox-nntpd(8)>.  This
45 may be any newsgroup name with hierarchies delimited by C<.>.
46 For example, the newsgroup for L<mailto:meta@public-inbox.org>
47 is: C<inbox.comp.mail.public-inbox.meta>
48
49 This may be set after-the-fact via C<publicinbox.$NAME.newsgroup>
50 in the configuration file.  See L<public-inbox-config(5)> for more
51 info.
52
53 Available since public-inbox 1.6.0 (PENDING).
54
55 Default: none.
56
57 =item --skip-artnum
58
59 This option allows archivists to publish incomplete archives
60 with only new mail while allowing NNTP article numbers
61 to be reserved for yet-to-be-archived old mail.
62
63 This is mainly intended for users of C<--skip-epoch> (documented below)
64 but may be of use to L<public-inbox-v1-format(5)> users.
65
66 There is no automatic way to use reserved NNTP article numbers
67 when old mail is found, yet.
68
69 Available since public-inbox 1.6.0 (PENDING).
70
71 Default: unset, no NNTP article numbers are skipped
72
73 =item -S, --skip-epoch
74
75 For C<-V2> (L<public-inbox-v2-format(5)>) inboxes only, this option
76 allows archivists to publish incomplete archives with newer
77 mail while allowing "0.git" (or "1.git" and so on) epochs to be
78 added-after-the-fact (without affecting "git clone" followers).
79
80 Available since public-inbox 1.2.0.
81
82 Default: unset, no epochs are skipped
83
84 =item -j, --jobs=JOBS
85
86 Control the number of Xapian index shards in a
87 C<-V2> (L<public-inbox-v2-format(5)>) inbox.
88
89 It can be useful to use a single shard (C<-j1>) for inboxes on
90 high-latency storage (e.g. rotational HDD) unless the system has
91 enough RAM to cache 5-10x the size of the git repository.
92
93 Another approach for HDDs is to use the
94 L<public-inbox-index(1)/publicInbox.indexSequentialShard> option
95 and many shards, so each shard may fit into the kernel page
96 cache.  Unfortunately, excessive shards slows down read-only
97 query performance.
98
99 For fast storage, it is generally not useful to specify higher
100 values than the default due to the top-level producer process
101 being a bottleneck.
102
103 Default: the number of online CPUs, up to 4 (3 shard workers, 1 producer)
104
105 =item --skip-docdata
106
107 Do not store document data in Xapian, reducing Xapian storage
108 overhead by around 1.5%.
109
110 Warning: this option prevents rollbacks to public-inbox 1.5.0
111 and earlier.
112
113 Available since public-inbox 1.6.0 (PENDING).
114
115 =back
116
117 =head1 ENVIRONMENT
118
119 =over 8
120
121 =item PI_CONFIG
122
123 Used to override the default C<~/.public-inbox/config> value.
124
125 =back
126
127 =head1 LIMITATIONS
128
129 Some of the options documented in L<public-inbox-config(5)>
130 require editing the config file.  Old versions lack the
131 C<--ng>/C<--newsgroup> parameter
132
133 See L<public-inbox-config(5)> for all the options which may be applied
134 to a given inbox.
135
136 =head1 CONTACT
137
138 Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org>
139
140 The mail archives are hosted at L<https://public-inbox.org/meta/>
141 and L<http://hjrcffqmbrq6wope.onion/meta/>
142
143 =head1 COPYRIGHT
144
145 Copyright 2019-2020 all contributors L<mailto:meta@public-inbox.org>
146
147 License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt>
148
149 =head1 SEE ALSO
150
151 L<git-init(1)>, L<git-config(1)>, L<public-inbox-v1-format(5)>,
152 L<public-inbox-v2-format(5)>