Verlinke doch zumindest mal den Node.js Docker Container, den Du verwenden willst.
Wie weiter oben geschrieben: NPM und der Node.js Container müssen ins gleiche Docker Netzwerk. Wie das geht solltest Du der Docker Doku entnehmen können. Beim Node.js Container muss man gar nichts zum Host rauslegen, bei NPM die Ports 80 und 443. Zudem muss die Domainauflösung stimmen, d.h. die Domain, die Du verwenden willst, sollte auf den Server zeigen (Test mit "ping meine.domain.tld" auf der Konsole).
Dann loggst Du Dich auf dem NPM ein, holst Dir ein LE Zertifikat (entweder "normal" oder mit DNS Auth bei passenden DNS Server, z.B. Cloudflare oder https://desec.io/) und legst einen "Proxy Host" an:
Domain Names: sub.domain.tld,www.domain.tld,domain.tld (z.B.); EDIT: ODER *.domain.tld (Wildcardzertifikat für alle Subdomains!) bei DNS Methode.
Scheme: je nachdem wie die Node.js Anwendung rausgeht, http wäre hier vermutlich einfacher und auch fein, da ja SSL nachgeschaltet wird --> "http"
Forward Hostname / IP: z.B. "node", oder wie auch immer der Container mit dem Argument "-name" oder in der docker-compose benannt wurde.
Forward Port: der Port den Du in Deiner Node.js Anwendung definiert hast und auf dem Node.js im Container läuft. Das muss nicht der Port sein, der nach außen gelegt wird.
Dann noch Cache Assets, Block Exploits und Websockets Support anmachen und bei SSL das vorher separat angelegte Zertifikat auswählen.
Und den Container starten.
Damit "Forward Hostname / IP: "namedescontainers" funktioniert, müssen Node.js und NPM im gleichen Netzwerk sein. Hierzu Nachlese auf https://docs.docker.com/network/