github NeySlim/ultimate-ca-manager v2.176

latest releases: v2.233-rc2, v2.233-rc1, v2.232...
3 months ago

What's Changed

Added

  • Forced 2FA enrolment — local and SSO logins can be required to enrol a TOTP authenticator before the session is fully usable. A restricted session is established until enrolment is complete (only the 2FA enrolment and logout endpoints are reachable). Global enforcement is a single Enforce Two-Factor Authentication toggle for local accounts; each SSO provider has its own enforce_2fa switch, independent of the global one. Individual users can be exempted (e.g., a break-glass admin). mTLS and WebAuthn logins are never additionally forced, since they are already a strong second factor (#141).

📜 Recent release history (last 2 versions)

[2.175] - 2026-06-17

Fixed

  • Manual DNS-01 is usable again — the ACME client no longer waits a fixed 10s then auto-submits. For a Manual DNS provider the order stays pending so you can add the TXT record and click Verify Challenge (which self-checks DNS before submitting, so it never burns the token; a force option bypasses the check). For automated providers the client self-checks propagation (configurable DNS propagation timeout in ACME → Let's Encrypt settings) and runs validation in the background so the request never blocks (#140).

Fixed

  • Duplicate webhook notificationscertificate.expiring (and other events) could be delivered twice with an identical payload while the delivery log showed a single event. Webhook deliveries are now claimed atomically (exactly-once) and the background scheduler runs in a single process, so each delivery is sent once even under concurrent workers (#139).

Security

[2.173] - 2026-06-17

Changed

  • SSO identity is now the directory's stable identifier, never the email — OIDC sub, SAML persistent NameID, or LDAP entryUUID/objectGUID (configurable per provider, auto-detected by default). Accounts are recognised across username/email changes, and the email is never an authentication key (removes account-takeover risk). An SSO login whose email matches a local account now provisions a separate SSO account instead of erroring; an administrator can still merge them via Link to SSO, which no longer renames the local username (#136, #138).
  • Backups — the backup list is paginated, searchable and sortable, with multi-select bulk delete, a usage summary (count, total size, free disk) and a Clean up now action. Retention is always visible (no longer hidden behind the automatic-backup toggle) and is enforced daily even when automatic backups are off.

Fixed

  • Backups could fill the disk — pre-migration database snapshots are now capped to the most recent few, and backup retention runs as its own scheduled task (previously it only ran after a scheduled backup, so manual backups accumulated indefinitely).

Full history: CHANGELOG.md


Installation

Docker (Recommended)

# From Docker Hub
docker pull neyslim/ultimate-ca-manager:2.176

# Or from GitHub Container Registry
docker pull ghcr.io/neyslim/ultimate-ca-manager:2.176

# Run
docker run -d -p 8443:8443 \
  -e SECRET_KEY=$(openssl rand -hex 32) \
  --name ucm neyslim/ultimate-ca-manager:2.176

Debian/Ubuntu

wget https://github.com/NeySlim/ultimate-ca-manager/releases/download/v2.176/ucm_2.176_all.deb
sudo dpkg -i ucm_2.176_all.deb
sudo apt-get install -f

Fedora/RHEL

wget https://github.com/NeySlim/ultimate-ca-manager/releases/download/v2.176/ucm-2.176-1.fc43.noarch.rpm
sudo dnf install ./ucm-2.176-1.fc43.noarch.rpm

Silent/Automated Install

# Skip firewall prompts for CI/automation
sudo UCM_PORT=8443 UCM_FIREWALL=no dpkg -i ucm_2.176_all.deb

Default Credentials

  • Username: admin
  • Password: changeme123

Change the password immediately after first login!

Documentation

Don't miss a new ultimate-ca-manager release

NewReleases is sending notifications on new releases.