PUBLIC-INBOX-OVERVIEW(7) public-inbox user manual PUBLIC-INBOX-OVERVIEW(7)
NAME
public-inbox-overview - an overview of public-inbox
DESCRIPTION
public-inbox consists of many pieces which may be used independently or
in conjunction of each other for:
1. Mirroring existing public-inboxes.
2. Mirroring mailing lists.
3. Hosting standalone inboxes.
Mirroring existing public-inboxes
Mirroring existing public-inboxes is the easiest way to get started.
Your mirror will remain dependent on the REMOTE_URL you are mirroring
and you only need to use two new commands in addition to common git(1)
commands.
Instructions are different depending on whether the inbox is
public-inbox-v1-format(5) or public-inbox-v2-format(5). See the
"Archives are clonable:" part of the WWW interface of a given inbox for
cloning instructions specific to that inbox. The instructions are
roughly:
# for v1 inboxes:
git clone --mirror URL INBOX_DIR
# for v2 inboxes (each epoch needs to be cloned):
git clone --mirror URL/EPOCH INBOX_DIR/git/EPOCH.git
# The following should create the necessary entry in
# ~/.public-inbox/config, use "-V2" only for v2 inboxes:
public-inbox-init [-V2] NAME INBOX_DIR MY_URL LIST_ADDRESS
# Optional but strongly recommended for hosting HTTP
# (and required for NNTP)
# enable overview (requires DBD::SQLite) and, if Search::Xapian is
# available, search:
public-inbox-index INBOX_DIR
# Periodically fetch the repo using git-fetch(1)
# for v1 inboxes:
git --git-dir=INBOX_DIR fetch
# for v2 (in most cases, only the newest epoch needs to be fetched):
git --git-dir=INBOX_DIR/git/EPOCH.git fetch
# index new messages after fetching:
public-inbox-index INBOX_DIR
See "Serving public-inboxes" below for info on how to expose your
mirror to other readers.
Mirroring mailing lists
Mirroring mailing lists may be done by any reader of a mailing list
using public-inbox-watch(1).
# This will create a new v2 inbox:
public-inbox-init -V2 NAME INBOX_DIR MY_URL LIST_ADDRESS
Then, see the public-inbox-watch(1) manual for configuring "watch",
"watchheader", "listid" and the optional "spamcheck" and "watchspam"
entries.
You will need to leave public-inbox-watch(1) running to keep the
mailbox up-to-date as messages are delivered to the mailing list.
Running public-inbox-index(1) to create search indices is recommended.
public-inbox-watch(1) will automatically maintain the indices if they
were created by public-inbox-index(1)
public-inbox-index INBOX_DIR
Instead of using public-inbox-watch(1), using public-inbox-mda(1) with
the "--no-precheck" option and relying on the "listid" directive in
public-inbox-config(5) is also an option.
Hosting standalone inboxes
Using public-inbox-init(1) to initialize the inbox as in the other
methods is recommended. See public-inbox-mda(1) for more details; but
this also requires MTA-specific knowledge.
Serving public-inboxes
Since public-inboxes are git repositories, they may be served to remote
clients via git-daemon(1) as well as specialized HTTP and NNTP daemons
distributed with public-inbox.
See public-inbox-httpd(1) and public-inbox-nntpd(1) for more
information on using these daemons.
Hosting a public-inbox over HTTP or NNTP will never require write
access to any files in the inbox directory.
Users familiar with PSGI and Plack may also use PublicInbox::WWW with
the preferred server instead of public-inbox-httpd(1)
CONTACT
Feedback welcome via plain-text mail to <mailto:meta@public-inbox.org>
The mail archives are hosted at <https://public-inbox.org/meta/> and
<http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/>
COPYRIGHT
Copyright 2016-2021 all contributors <mailto:meta@public-inbox.org>
License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
public-inbox.git 1993-10-02 PUBLIC-INBOX-OVERVIEW(7)