Yes, I use jwilders/nginx-proxy. For generating certificates, I use jrcs/letsencrypt-nginx-proxy-companion like you. The proxy container not depends on port 80, it finds the one exposed.
Inspired by this post I try adding --env VIRTUAL_PORT=9980 and --env VIRTUAL_PROTO=https and it works.
Here is me run syntax:
docker run -t -d \
--name nc-code \
--hostname office.domain.com \
--env VIRTUAL_HOST=office.domain.com \
--env LETSENCRYPT_HOST=office.domain.com \
--env LETSENCRYPT_EMAIL=a@b.c \
--env VIRTUAL_PORT=9980 \
--env VIRTUAL_PROTO=https \
-e 'domain=nc\\.domain\\.com' \
--restart always \
--cap-add MKNOD \
--expose 9980 \
collabora/code
When I type office.domain.com to browser, it returns OK.