PUBLIC-INBOX-IMAPD(1)

πŸ’Œ public-inbox-imapd β€” the IMAP server that shares your public-inboxes

okay bestie, settle in, because this is public-inbox-imapd from the public-inbox user manual and it's genuinely iconic. πŸ’–


✨ NAME ✨

public-inbox-imapd β€” IMAP server for sharing public-inboxes


πŸ¦‹ SYNOPSIS πŸ¦‹

public-inbox-imapd [OPTIONS]

🌸 DESCRIPTION 🌸

public-inbox-imapd gives you a read-only IMAP daemon for public-inbox. It pulls its options and environment variables from the same common pile that literally every public-inbox-daemon(8) implementation uses. no special snowflake energy here, just vibes that match the family. ✨

And here's the part that's lowkey the best: just like public-inbox-nntpd(1) and public-inbox-httpd(1), public-inbox-imapd will never need write access to the directory where your public-inboxes live. never ever. so you can run it as a totally different user than whoever's running public-inbox-watch(1), public-inbox-mda(1), or git-fetch(1). separation, but make it slay. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

the common options live over in "OPTIONS" in public-inbox-daemon(8), so go read that too. but additionally, some options get IMAP-specific behavior and we're documenting those right here. 🫢

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

so besides the normal "-l"/"--listen" switch that public-inbox-daemon(8) already describes, you can slap a "PROTOCOL" prefix on there (think "imap://" or "imaps://") to force a specific protocol. forcing it. no negotiations. πŸ‘‘

for STARTTLS and IMAPS support, the "cert" and "key" can be given per-listener, placed after a "?" character and separated by ",". these directives are per-directive, meaning yes bestie, it's absolutely possible to use a different cert for every single listener. every. single. one. 🌈

  • --cert /path/to/cert β€” the default TLS certificate for optional STARTTLS and IMAPS support, used whenever the "cert" option isn't given with "--listen".

and here's the ✨magic✨: if you're using systemd-compatible socket activation and a TCP listener on port 993 gets inherited, it's automatically IMAPS when this option is given. and when a listener on port 143 is inherited and this option is given, it automatically gets STARTTLS support. automatic. the machine is doing it for you. obsessed. πŸ’…

  • --key /path/to/key β€” the default private TLS certificate key for optional STARTTLS and IMAPS support, used whenever the "key" option isn't given with "--listen". btw the private key may be concatenated into the path used by "--cert", and in that case you don't need this option at all. one file, zero drama. πŸŽ€

πŸ’œ CONFIGURATION πŸ’œ

"public-inbox-imapd" uses the same configuration knobs as public-inbox-nntpd(1) β€” so go check out public-inbox-nntpd(1) and public-inbox-config(5). same brain, different port, iykyk.

  • publicinbox.<name>.newsgroup β€” the newsgroup name maps to an IMAP folder name. that's the whole mapping. name goes in, folder comes out. πŸ¦‹

πŸ“¬ CONTACT πŸ“¬

feedback is welcome, and it's welcome via plain-text mail to <mailto:meta@public-inbox.org> β€” plain text only, bestie, we're keeping it classy. πŸ’Œ

the mail archives are hosted at:

  • <https://public-inbox.org/meta/>
  • <nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta>
  • <nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.mail.public-inbox.meta>

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

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


🌟 SEE ALSO 🌟

git(1), git-config(1), public-inbox-daemon(8), public-inbox-config(5), public-inbox-nntpd(1)


okay that's the whole page, no cap. every flag, every path, every port, every license line β€” all accounted for. 🫢

and that's a wrap from public-inbox.git, dated 1993-10-02. go forth and serve those inboxes, main character. πŸ’–βœ¨πŸ¦‹πŸŽ€πŸ’…

πŸ“¦ where this page comes from