NexProxy 1.0.29
The first release with the new admin interface and licence revocation support.
New admin interface
The GUI has been rebuilt. Navigation moved from a top bar into a grouped sidebar (Overview / Routing / Security / System) with live counts, and the dashboard now shows more than four tiles: proxy hosts with online and disabled counts, a recently-updated host table, system health, certificates with expiry pills, and recent activity.
All list pages - proxy hosts, redirections, streams, 404 hosts, certificates, access lists, users, audit log - share one page layout, as do the settings, HA, licence and migration pages.
NexProxy is now a dark-only application. The theme toggle has been removed.
Licence revocation
Installations now check a signed revocation list, so a licence can be withdrawn after it has been issued.
- The list is fetched every six hours and verified against the public key already compiled into the build
- A list with a lower serial than the cached one is rejected, so an old list cannot silently reinstate a revoked licence
- Revocations match on licence id, and on the key hash for licences issued before ids existed
- After a revocation there is a seven-day grace period during which the installation only warns
- If the list cannot be reached, the last known one keeps applying - a network problem never disables a running proxy
Two endpoints were added: POST /api/license/crl/refresh to check immediately, and POST /api/license/crl/import to apply a signed list by hand on installations without outbound internet access.
System health
New endpoint GET /api/system-health reports CPU, memory, disk and uptime, read from the container's own cgroups rather than /proc - inside a container the latter reports the host's figures, which made every node of a cluster look identical.
Fixes
- The nginx status check used
pgrep, which is not present in the production image, so it always reported "not running". It now reads nginx's pid file, with the path taken from the nginx configuration. - A missing logrotate configuration aborted the container's startup entirely. Log rotation is now non-fatal.
Notes
Tag 1.0.28 was published briefly and does not start - use 1.0.29 or latest.
services:
app:
image: 'ghcr.io/bonderaustria/nexproxy:1.0.29'
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencryptPublished for amd64 and arm64. Documentation: https://nexproxy.de