Skip to content

CortenDesk 0.9.3

Choose a tag to compare

@marcpope marcpope released this 25 Jul 23:20

Two fixes, both from user reports.

Fixed

  • The container could not start on hosts with IPv6-only DNS (#8). The entrypoint passed the nameserver from /etc/resolv.conf straight into nginx, which requires an IPv6 resolver in square brackets, so startup aborted with nginx: [emerg] invalid port in resolver "fd12::10". Affects Railway and anything else handing containers an IPv6-only resolv.conf. The same code also mis-parsed an IPv6 literal in CORTENDESK_ID_SERVER, which would have produced a broken WebSocket bridge; fixed too. Verified in containers with both IPv6-only and IPv4 resolvers.

    If you set NGINX_RESOLVER as a workaround, you can drop it.

    Reported by @GTNeill.

  • The web client now says it needs HTTPS instead of failing with Cannot read properties of undefined (reading 'digest') (#3). Both Web Crypto and WebCodecs are restricted to secure contexts, so the in-browser client cannot run over plain http://. The client now reports that on load and again before connecting, rather than throwing a raw TypeError that looks like a server misconfiguration.

    This is a browser restriction with no JavaScript workaround — a pure-JS hash would only move the failure to the video decoder, which cannot be polyfilled. The new Web client requires HTTPS wiki page covers how to get a trusted certificate on an internal network, including how to do it for a host that only has a private IP.

    Reported by @OmarRC64.

Notes

  • No configuration changes, no migrations.
  • The console itself works fine over plain HTTP. Only the in-browser client needs TLS.
docker pull marcpope/cortendesk:0.9.3
docker pull ghcr.io/marcpope/cortendesk:0.9.3