π Recent release history (last 2 versions)
[2.181] - 2026-06-30
Added
- Multi-CA management for the ACME client β UCM can now issue certificates from several external ACME authorities (Let's Encrypt, Actalis, ZeroSSL, Google Trust Services, HARICAβ¦) instead of a single one. ACME CA accounts are managed from the UI (CRUD, per-account External Account Binding, default selection, registration status), each certificate request picks its issuing CA, and the order is pinned to that account so renewals stay on the same authority. The
AcmeClientOrder.acme_client_account_idforeign key (migration047) links each order to its external CA account;AcmeClientService.for_issuance(environment, account_id=)resolves explicit account > configured custom directory > Let's Encrypt environment, andfor_order(order)reuses the pinned account on verify/finalize/status/renewal (#149).
[2.180] - 2026-06-30
Fixed
- Custom ACME CA directory and EAB are now honored for issuance and renewal β when a custom ACME directory URL was configured in Settings β ACME client (e.g. Actalis, ZeroSSL, Google Trust Services) together with External Account Binding credentials, certificate issuance and renewal still went to Let's Encrypt instead of the configured CA. The custom directory and the EAB persisted in
SystemConfigwere never used by the issuance/renewal path;acme.client.directory_urlwas effectively dead for issuance. A newAcmeClientService.for_issuance()factory reads the configured custom directory (over the Let's Encrypt staging/production mapping) and backfills legacy EAB fromSystemConfigonto theAcmeClientAccountrow, andfor_order()resolves the issuing account from the order's recordedaccount_urlso an order keeps its CA across changes to the directory setting. All issuance, verify, finalize, status, auto-poll and renewal entry points now route through these factories (#147).
Full history: CHANGELOG.md
Installation
Docker (Recommended)
# From Docker Hub
docker pull neyslim/ultimate-ca-manager:2.182-rc2
# Or from GitHub Container Registry
docker pull ghcr.io/neyslim/ultimate-ca-manager:2.182-rc2
# Run
docker run -d -p 8443:8443 \
-e SECRET_KEY=$(openssl rand -hex 32) \
--name ucm neyslim/ultimate-ca-manager:2.182-rc2Debian/Ubuntu
wget https://github.com/NeySlim/ultimate-ca-manager/releases/download/v2.182-rc2/ucm_2.182.rc2_all.deb
sudo dpkg -i ucm_2.182.rc2_all.deb
sudo apt-get install -fFedora/RHEL
wget https://github.com/NeySlim/ultimate-ca-manager/releases/download/v2.182-rc2/ucm-2.182.rc2-1.fc43.noarch.rpm
sudo dnf install ./ucm-2.182.rc2-1.fc43.noarch.rpmSilent/Automated Install
# Skip firewall prompts for CI/automation
sudo UCM_PORT=8443 UCM_FIREWALL=no dpkg -i ucm_2.182.rc2_all.debDefault Credentials
- Username:
admin - Password:
changeme123
Change the password immediately after first login!
Documentation
- Installation Guide
- API Documentation