=head1 NAME

public-inbox-compact - compact Xapian DBs in an inbox

=head1 SYNOPSIS

public-inbox-compact INBOX_DIR

public-inbox-compact --all

=head1 DESCRIPTION

public-inbox-compact is a wrapper for L<xapian-compact(1)>
which locks the inbox and prevents other processes such as
L<public-inbox-watch(1)> or L<public-inbox-mda(1)> from
writing while it operates.

It enforces the use of the C<--no-renumber> option of
L<xapian-compact(1)> which is required to work with the
rest of the public-inbox search code.

This command is rarely needed for active inboxes.

Using the C<--compact> option of L<public-inbox-index(1)>
is recommended, instead, and only when doing a C<--reindex>.

=head1 OPTIONS

=over

=item --all

Compact all inboxes configured in ~/.public-inbox/config.
This is an alternative to specifying individual inboxes directories
on the command-line.

=item --blocksize

=item --no-full

=item --fuller

These options are passed directly to L<xapian-compact(1)>.

=back

=head1 ENVIRONMENT

=over 8

=item PI_CONFIG

The default config file, normally "~/.public-inbox/config".
See L<public-inbox-config(5)>

=item XAPIAN_FLUSH_THRESHOLD

The number of documents to update before committing changes to
disk.  This environment is handled directly by Xapian, refer to
Xapian API documentation for more details.

Default: 10000

=back

=head1 CONTACT

Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org>

The mail archives are hosted at L<https://public-inbox.org/meta/> and
L<http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/>

=head1 COPYRIGHT

Copyright 2018-2021 all contributors L<mailto:meta@public-inbox.org>

License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt>

=head1 SEE ALSO

L<xapian-compact(1)>, L<public-inbox-index(1)>
