PUBLIC-INBOX-NETD(1)

πŸ’– public-inbox-netd β€” the read-only network daemon for sharing public-inboxes πŸ’–

okay bestie, this is public-inbox-netd(1), a page from the public-inbox user manual, and it's literally the little daemon that lets the whole world read your public-inbox without ever touching your files. obsessed. πŸ¦‹


✨ NAME ✨

public-inbox-netd β€” a read-only network daemon for sharing public-inboxes 🫢


✨ SYNOPSIS ✨

public-inbox-netd [OPTIONS]

✨ DESCRIPTION ✨

public-inbox-netd is a read-only, multi-protocol daemon for public-inbox β€” and when we say multi-protocol we mean it's giving HTTP / IMAP / NNTP / POP3 all at once. πŸ’…

It uses the options and environment variables that are common to all public-inbox-daemon(8) implementations, so if you already know that vibe, you already know this vibe. iykyk.

The default configuration will never require write access to the directory where the public-inbox is stored. πŸŽ€ no cap. That means you can run it as a different user than whoever's running public-inbox-watch(1), public-inbox-mda(1), or git-fetch(1). separation of concerns? we ate. πŸ‘‘


✨ OPTIONS ✨

go see the common options in "OPTIONS" in public-inbox-daemon(8) for the full menu, bestie. πŸ’–

  • -l PROTOCOL://ADDRESS/?cert=/path/to/cert,key=/path/to/key
  • --listen PROTOCOL://ADDRESS/?cert=/path/to/cert,key=/path/to/key
  • -l http://ADDRESS/?env.PI_CONFIG=/path/to/cfg,psgi=/path/to/app.psgi β€” and here's the tea, so listen up:
    • On top of the normal -l/--listen switch described in public-inbox-daemon(8), you can specify the protocol prefix (like nntp:// or nntps://) to force a given protocol. forcing it? yeah, sometimes you just gotta. πŸ’…
    • Environment variable overrides that are in effect during loading and reloading (SIGHUP) can be specified as env.NAME=VALUE β€” and this works for all protocols. 🌈
    • HTTP(S) listeners may also specify psgi= to use a different .psgi file for each listener. one file per listener, main character energy. ✨
    • err=/path/to/errors.log may be used to isolate error/debug output for a particular listener, away from --stderr. keeping your mess contained? that's growth. πŸŽ€
    • Non-HTTP(S) listeners may also specify out= for logging to stdout. HTTP(S) users are encouraged to configure Plack::Middleware::AccessLog or Plack::Middleware::AccessLog::Timed, instead. πŸ™ˆ
  • --cert /path/to/cert β€” see public-inbox-daemon(1). 🧚
  • --key /path/to/key β€” see public-inbox-daemon(1). 🧚

✨ CONFIGURATION ✨

These configuration knobs should be used in the public-inbox-config(5). πŸ¦‹

  • publicinbox.<name>.newsgroup
  • publicinbox.nntpserver
  • publicinbox.pop3state

See public-inbox-config(5) for documentation on them. it's all there, bestie, go read it. πŸ’œ


✨ CONTACT ✨

Feedback welcome via plain-text mail to <mailto:meta@public-inbox.org> πŸ’Œ

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>

(yeah that last one is a whole onion address and yes it's exactly that long, don't @ me, copy it character for character 😭)


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

License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> β€” open source icon behavior fr fr πŸ‘‘


✨ SEE ALSO ✨

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


⭐ lowkey reminder bestie: this daemon is read-only by design, and the default config never needs write access to your inbox directory. that's the whole point and it's iconic. don't go adding write access "just in case." πŸ’€

and that's the whole page, bestie!! this one came out of public-inbox.git and it's dated 1993-10-02 β€” yeah, the date is a whole time capsule, we don't question it, we just say thank you. mwah πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from