=head1 NAME

public-inbox-imapd - IMAP server for sharing public-inboxes

=head1 SYNOPSIS

  public-inbox-imapd [OPTIONS]

=head1 DESCRIPTION

public-inbox-imapd provides a read-only IMAP daemon for
public-inbox.  It uses options and environment variables common
to all L<public-inbox-daemon(8)> implementations.

Like L<public-inbox-nntpd(1)> and L<public-inbox-httpd(1)>,
C<public-inbox-imapd> will never require write access
to the directory where the public-inboxes are stored, so it
may be run as a different user than the user running
L<public-inbox-watch(1)>, L<public-inbox-mda(1)>, or
L<git-fetch(1)>.

=head1 OPTIONS

See common options in L<public-inbox-daemon(8)/OPTIONS>.
Additionally, IMAP-specific behavior for certain options
are supported and documented below.

=over

=item -l PROTOCOL://ADDRESS/?cert=/path/to/cert,key=/path/to/key

=item --listen PROTOCOL://ADDRESS/?cert=/path/to/cert,key=/path/to/key

In addition to the normal C<-l>/C<--listen> switch described in
L<public-inbox-daemon(8)>, the C<PROTOCOL> prefix (e.g. C<imap://> or
C<imaps://>) may be specified to force a given protocol.

For STARTTLS and IMAPS support, the C<cert> and C<key> may be specified
on a per-listener basis after a C<?> character and separated by C<,>.
These directives are per-directive, and it's possible to use a different
cert for every listener.

=item --cert /path/to/cert

The default TLS certificate for optional STARTTLS and IMAPS support
if the C<cert> option is not given with C<--listen>.

If using systemd-compatible socket activation and a TCP listener on port
993 is inherited, it is automatically IMAPS when this option is given.
When a listener on port 143 is inherited and this option is given, it
automatically gets STARTTLS support.

=item --key /path/to/key

The default private TLS certificate key for optional STARTTLS and IMAPS
support if the C<key> option is not given with C<--listen>.  The private
key may be concatenated into the path used by C<--cert>, in which case this
option is not needed.

=back

=head1 CONFIGURATION

C<public-inbox-imapd> uses the same configuration knobs
as L<public-inbox-nntpd(1)>, see L<public-inbox-nntpd(1)>
and L<public-inbox-config(5)>.

=over 8

=item publicinbox.<name>.newsgroup

The newsgroup name maps to an IMAP folder name.

=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<nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta>,
L<nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.mail.public-inbox.meta>

=head1 COPYRIGHT

Copyright 2020-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<git(1)>, L<git-config(1)>, L<public-inbox-daemon(8)>,
L<public-inbox-config(5)>, L<public-inbox-nntpd(1)>
