[1.0.0]
Added:
- A **Delivery log** on each delivery's page (`/deliveries/{id}`): the
- A **History** block on the same page: the journal's two timestamps stated as
Fixed:
- Postfix config: copy TLS cert/key from the (often `:ro`, host-owned) mount
- Postfix config: allow `maillog_file` under `/data` via
- E2e: read `/data/setup-token` via `docker compose exec` (file is `0600`
- Entrypoint: check `SELFPOST_HOSTNAME` before `/data` setup (so a bad identity
- E2e gate: wait for host-published `/healthz` before panel setup, and stop
… (3 more in CHANGELOG)
Changed:
- Document what `.spbk` and `.spde` stand for (SelfPost backup / SelfPost domain
- Docs aligned with the code: setup URL is `/setup/<token>` (README and
- Full backups no longer carry `/data/log`. It is Postfix's raw log plus its
- Monitoring screens (status, mail queue, system log, deliveries) use adaptive
- Documentation package consolidated into `docs/development.md`: Documentation
… (4 more in CHANGELOG)
[1.0.1]
A documentation and packaging release: no change to the mail path, the database, or the on-disk layout. Upgrading is a tag bump.
Added:
- `SECURITY.md` — how to report a vulnerability privately (GitHub private
- [docs/plans/](docs/plans/) — one document per agreed extension: the optional
Changed:
- The panel's **Account** entry is now called **Settings** — nav link, page
- The signed-in name in the panel's nav is now labelled `User:`, so it reads as
- [docs/product.md](docs/product.md) reframes the future line: the inbound
- [docs/security.md](docs/security.md) is now in English, matching the rest of
- The README documentation table now points at `SECURITY.md` for reporting a
… (2 more in CHANGELOG)
Fixed:
- The panel's static assets are served with a content ETag and
Squashed CHANGELOG sections: [1.0.0], [1.0.1].
Full detail: CHANGELOG.md (1.0.0, 1.0.1).
63 lines
2.4 KiB
HTML
63 lines
2.4 KiB
HTML
{{define "content"}}
|
|
<h1>Server status</h1>
|
|
|
|
{{if .Flash}}<div class="flash">{{.Flash}}</div>{{end}}
|
|
|
|
{{template "status_body" .}}
|
|
|
|
<div class="card" id="hostname">
|
|
<h2>Hostname and reverse DNS <span class="st st-{{.PTR.Status}}">{{.PTR.Status}}</span></h2>
|
|
<p class="muted">Receiving servers check that the name this server announces
|
|
resolves to its address <em>and</em> that the address resolves back to the same
|
|
name (forward-confirmed reverse DNS). A missing or mismatched reverse record is
|
|
the most common reason self-hosted mail is rejected or scored as spam. The
|
|
reverse record is set at the hosting provider, not in the domain's DNS zone.</p>
|
|
|
|
<label>Server hostname</label>
|
|
<span class="code">{{if .Hostname}}{{.Hostname}}{{else}}(SELFPOST_HOSTNAME is not set){{end}}</span>
|
|
|
|
{{if .PTR.Records}}
|
|
<label>Forward and reverse lookup</label>
|
|
<span class="code">{{range .PTR.Records}}{{.}}
|
|
{{end}}</span>
|
|
{{end}}
|
|
|
|
<p class="{{if eq .PTR.Status "ok"}}muted{{else}}error{{end}}">{{.PTR.Detail}}</p>
|
|
|
|
<form class="inline" method="post" action="/status/recheck">
|
|
<button type="submit">Re-check DNS</button>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="card" id="configuration">
|
|
<h2>Configuration</h2>
|
|
<p class="muted">Regenerates the OpenDKIM and Postfix configuration from the
|
|
database and reloads both daemons. Use it if you edited the files by hand,
|
|
restored a backup, or the running configuration looks out of step with the
|
|
domain and application lists. It does not touch the mail queue or the TLS
|
|
certificate, and it is safe to run at any time.</p>
|
|
<form class="inline" method="post" action="/reload">
|
|
<button type="submit">Reload configuration</button>
|
|
</form>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{/* The status page's section index, shown in the navigation column (see the
|
|
"sections" block in layout.html). The first six cards are the ones the
|
|
polling fragment replaces on a timer; their ids are part of
|
|
status_body.html and do not change with the reading, so the links here hold
|
|
across a refresh. */}}
|
|
{{define "sections"}}
|
|
<div class="sections">
|
|
<p class="sections-title">On this page</p>
|
|
<a href="#overall">Overall</a>
|
|
<a href="#processes">Processes</a>
|
|
<a href="#machine">Machine</a>
|
|
<a href="#queue">Mail queue</a>
|
|
<a href="#certificate">TLS certificate</a>
|
|
<a href="#sockets">Milter sockets</a>
|
|
<a href="#hostname">Hostname and reverse DNS</a>
|
|
<a href="#configuration">Configuration</a>
|
|
</div>
|
|
{{end}}
|