about summary refs log tree commit homepage
path: root/Documentation/public-inbox-watch.pod
blob: 783dc07ff46bf0187264d7d1731439eb1c43383e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
=head1 NAME

public-inbox-watch - mailbox watcher for public-inbox

=head1 SYNOPSIS

B<public-inbox-watch>

In ~/.public-inbox/config:

	[publicinbox "test"]
		; generic public-inbox-config keys:
		address = test@example.com
		url = http://example.com/test
		mainrepo = /path/to/test.example.com.git

		; config keys specific to public-inbox-watch:
		watch = maildir:/path/to/maildirs/.INBOX.test/
		watchheader = List-Id:<test.example.com>

	[publicinboxwatch]
		; optional, enable use of spamc(1) for checking:
		spamcheck = spamc

		; optional, emails marked as read which appear
		; here will be trained as spam and deleted from
		; the mainrepos of any public-inboxes which are
		; configured for watch.
		; This is global for all publicinbox.* sections
		watchspam = maildir:/path/to/maildirs/.INBOX.spam

=head1 DESCRIPTION

public-inbox-watch allows watching a mailbox (currently only
Maildir) for the arrival of new messages and automatically
importing them into a public-inbox (git) repository.
public-inbox-watch is useful in situations when a user wishes to
mirror an existing mailing list, but has no access to run
L<public-inbox-mda(1)> on a server.  Unlike public-inbox-mda
which is invoked once per-message, public-inbox-watch is a
persistent process, making it faster for after-the-fact imports
of large Maildirs.

Upon startup, it scans the mailbox for new messages to be
imported while it was not running.

Currently, only Maildirs are supported and the
L<Filesys::Notify::Simple> Perl module is required.

For now, IMAP users should use tools such as L<mbsync(1)>
or L<offlineimap(1)> to bidirectionally sync their IMAP
folders to Maildirs for public-inbox-watch.

public-inbox-watch should be run inside a L<screen(1)> session
or as a L<systemd(1)> service.  Errors are emitted to stderr.

=head1 OPTIONS

public-inbox-watch takes no command-line options.

=head1 CONFIGURATION

These configuration knobs should be used in the
L<public-inbox-config(5)>

=over 8

=item publicinbox.<name>.watch

=item publicinbox.<name>.watchheader

=item publicinboxwatch.spamcheck

=item publicinboxwatch.watchspam

=back

See L<public-inbox-config(5)> for documentation on them.

=head1 SIGNALS

=over 8

=item SIGHUP

Reload the config file (default: ~/.public-inbox/config)

=item SIGUSR1

Rescan all watched mailboxes.  This is done automatically after
startup.

=back

=head1 ENVIRONMENT

=over 8

=item PI_CONFIG

config file. default: ~/.public-inbox/config
See L<public-inbox-config(5)>

=item PERL_INLINE_DIRECTORY

This may affect any public-inbox processes, but is intended
for long-lived ones such as C<public-inbox-watch> or network
daemons.  See L<public-inbox-daemon(8)>.

=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://hjrcffqmbrq6wope.onion/meta/>

=head1 COPYRIGHT

Copyright 2016-2018 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<public-inbox-config(5)>