Files
bongo/man/bongo-setup.1
2026-07-23 15:57:32 +02:00

122 lines
5.0 KiB
Groff

.TH BONGO-SETUP 1 "July 2026" "Bongo @BONGO_V_STR@" "Bongo setup"
.SH NAME
bongo-setup \- guided initial setup for a Bongo server
.SH SYNOPSIS
.B bongo-setup
.br
.B bongo-setup scanners
.SH DESCRIPTION
.B bongo-setup
is a curses wizard for a new Bongo installation and must be run as root from
an interactive terminal. It asks deployment-level questions and retains safe
defaults for individual protocol limits.
.PP
The wizard configures the server hostname, IPv4 listener, hosted domains, Web
deployment behind Apache, nginx, Nginx Proxy Manager or a direct LAN listener,
an optional HAProxy mail frontend, IMAP, POP3, submission and ManageSieve,
the optional rate-limited internal relay, LDAP authentication and legacy TLS
compatibility.
.PP
Automatic ACME is optional. HTTP-01 is served by the Bongo Web challenge
endpoint. DNS-01 supports wildcard names and offers native
.BR nsupdate /RFC 2136
with optional TSIG as the standard provider, plus a Cloudflare provider using
a zone-scoped API token. Provider credentials are stored separately from the
Store configuration and are not placed in process arguments.
.PP
For each hosted domain it checks published SPF, DKIM and DMARC records. It
reuses or imports a safe matching DKIM private key, or generates a new
2048-bit RSA key. Required DNS changes are printed and added to the task list
of the account reached through that domain's
.B dmarc-reports
alias.
.PP
Local ClamAV and SpamAssassin services are probed with their harmless
.B PING
commands. An installed but unreachable local scanner may be configured only
after explicit confirmation. The wizard previews the detected Gentoo/OpenRC
or Debian/systemd configuration path, creates an adjacent one-time
.B .bongo-setup.bak
file, preserves unrelated settings, and restricts the scanner TCP listener to
loopback. Enabling and restarting the scanner is a separate choice. If it is
selected, the expected protocol response is required before Bongo setup is
committed. A failed edit, service command, probe or later setup operation
restores scanner files and prior service state. Remote scanners are never
edited.
.PP
The
.B scanners
maintenance mode performs scanner detection, preview, backup, service
management and verification without rerunning initial Bongo setup. After the
expected protocol response, it enables the corresponding Bongo antispam or
antivirus agent, synchronizes the suffixless configuration documents with the
Store and reloads the manager. An unverified endpoint remains disabled. A
failed activation restores both scanner state and Bongo configuration.
.PP
When SpamAssassin has no installed rule set, the preview includes an initial
Apache signing-key download with complete fingerprint verification, a signed
.BR sa-update (1)
download followed by
.BR spamassassin (1)
lint validation. Either command must succeed before scanner configuration is
changed. Successfully installed rule data is retained as scanner update data.
.PP
The signed KAM channel
.B kam.sa-channels.mcgrail.com
and the unsigned Heinlein Support channel
.B spamassassin.heinlein-support.de
are offered independently and are disabled by default. The complete KAM key
fingerprint is checked before import. Heinlein requires an explicit warning
confirmation because its documented update command disables GPG verification.
Downloaded channels are never allowed to load SpamAssassin plugins.
.PP
A signing-key change does not replace current rules or restart the scanner.
The currently trusted and newly downloaded fingerprints are recorded as a
persistent warning and shown when the administrator opens
.BR bongo-admin (1)
configuration mode.
.SH SECURITY
The administrator password and initial JSON configuration bundle are passed
to
.BR bongo-config (1)
through anonymous inherited file descriptors. Neither value is placed in the
process argument list and no named password file is created.
.PP
All generated documents are validated together before installation. Store
configuration document names contain JSON but have no
.B .json
suffix.
.PP
The initial 3072-bit RSA self-signed TLS pair is created through GnuTLS and
stored below
.IR /etc/bongo/ssl.d .
An existing complete pair is validated and preserved. Invalid, incomplete or
unsafe TLS/DKIM material stops installation instead of being overwritten.
.SH FILES
.TP
.I /etc/bongo/ssl.d
TLS certificate and protected private key.
.TP
.I /etc/bongo/dkim.d
Per-domain DKIM private keys and public DNS hints.
.TP
.I /etc/bongo/dmarc.d
Suffixless per-domain DNS check state and suggested policy.
.TP
.I /etc/bongo/acme.d/providers
Root-owned suffixless JSON containing DNS-01 provider credentials. It is
installed with mode 0640 for the Bongo group.
.TP
.I /usr/share/bongo/examples/antispam
ClamAV and SpamAssassin configuration fragments.
.TP
.I /usr/share/bongo/examples/reverse-proxy
Apache, nginx, Nginx Proxy Manager and HAProxy examples.
.TP
.I /usr/share/bongo/examples/acme
Native nsupdate and Cloudflare DNS-provider examples.
.SH SEE ALSO
.BR bongo-config (1),
.BR bongo-admin (1),
.BR bongo-manager (1)