Complete 22.04->24.04 release upgrade

Ran do-release-upgrade detached and non-interactive after the specific
failure mode that killed the 2026-07-18 attempt (an unattended
interactive prompt), validated with a full test reboot first. Caught
and fixed 12 more leftover packages from the original incomplete
upgrade that an earlier cleanup pass had missed. Completed successfully
into Ubuntu 24.04.4 / kernel 6.8.0-136.

Two real post-upgrade problems found and fixed same day: fail2ban
failed to start due to a genuine gap in the noble package (a
[DEFAULT] value referenced but never defined), fixed with an owned
jail.d drop-in; rspamd was fully removed (not just held back like
PHP), its service masked as a safety measure, its apt source migrated
to the new deb822 format and disabled - reinstalled from a re-enabled
noble-pointed repo and verified it's genuinely scanning again, not
just a phantom "active" service.

Full verification pass confirms mail, DNS/DNSSEC, dyndns, Docker,
and SSH hardening all intact. MariaDB auto-upgraded again to noble's
native 10.11.14 as part of this run; vmail data verified unchanged.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-26 14:26:31 +02:00
co-authored by Claude Sonnet 5
parent dad1c5c872
commit 834b420756
2 changed files with 89 additions and 9 deletions
+11 -7
View File
@@ -1,6 +1,7 @@
# alpha.jayfield.org — Web Services Overview
Host: `alpha.jayfield.org` (`89.58.8.149`), Ubuntu 22.04 LTS.
Host: `alpha.jayfield.org` (`89.58.8.149`), Ubuntu 24.04 LTS (upgraded from
22.04 on 2026-07-26 — see `TODO.md` for the full rollout).
SSH: `ssh -p 10022 jens@alpha.jayfield.org`
All administration in this repo's notes is performed remotely against
@@ -16,18 +17,21 @@ Portainer). Apache reverse-proxies into the Docker layer where needed.
| Service | Role |
|---|---|
| `apache2` (2.4.52) | Terminates HTTP/HTTPS for all vhosts, reverse-proxies to backends (Docker containers, rspamd, Portainer) |
| `apache2` (2.4.58) | Terminates HTTP/HTTPS for all vhosts, reverse-proxies to backends (Docker containers, rspamd, Portainer) |
| `bind9` | Authoritative DNS for the `jayfield.org` zone (`ns1`/`ns2.jayfield.org` are both this host); also the box's own recursive resolver — see below |
| `docker` | Runs the containerized web services (see below) |
| `certbot` (apt, 1.21.0) | Let's Encrypt cert issuance/renewal, via `certbot.timer` (systemd) |
| `certbot` (apt, 2.9.0) | Let's Encrypt cert issuance/renewal, via `certbot.timer` (systemd) |
| Postfix (`master`) | SMTP, ports 25/587, on the public IP + localhost |
| Dovecot | IMAP/IMAPS (143/993) + ManageSieve (4190) |
| rspamd | Spam filtering for the mail stack, localhost-only (1133211334), proxied at `mail.jayfield.org/rspamd` |
| rspamd (4.1.3, `rspamd.com` PPA — not the OS's own older native package) | Spam filtering for the mail stack, localhost-only (1133211334), proxied at `mail.jayfield.org/rspamd` |
| redis-server | Localhost-only (6379); backs rspamd's Bayes classifier, history, and reputation caching |
| `mariadb` (10.11.14, noble-native) | Holds `vmail` (Postfix/Dovecot virtual accounts) — see `TODO.md` for the `10.3``10.6``10.11` migration history |
Python: `python3.10.12` (fixed from a stalled `python3.8` leftover of an
incomplete 20.04→22.04 upgrade — this was breaking apt's certbot via a
`pytz`/`zoneinfo` incompatibility).
Python: `python3.12.3` (noble's default). Previously `python3.10.12` on
22.04, itself fixed from a stalled `python3.8` leftover of the original
incomplete 20.04→22.04 upgrade (breaking apt's certbot via a
`pytz`/`zoneinfo` incompatibility) — that whole incomplete-upgrade saga is
now fully resolved, see `TODO.md`.
## System users