Update install fails

wanted to try out freepbx. can’t even get update installs to work:

0 info it worked if it ends with ok
1 verbose cli [ ‘/usr/bin/node’, ‘/usr/bin/npm’, ‘install’ ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session ad13a0c183b28ef1
5 silly install runPreinstallTopLevelLifecycles
6 silly preinstall [email protected]
7 info lifecycle [email protected]~preinstall: [email protected]
8 silly lifecycle [email protected]~preinstall: no script for preinstall, continuing
9 silly install loadCurrentTree
10 silly install readLocalPackageData
11 silly install loadIdealTree
12 silly install cloneCurrentTreeToIdealTree
13 silly install loadShrinkwrap
14 silly install loadAllDepsIntoIdealTree
15 silly fetchPackageMetaData error for [email protected]^2.4.4 request to hypertext link s //registry.npmjs.org/pm2 failed, reason: self signed certificate in certificate chain
16 silly fetchPackageMetaData error for [email protected]^2.4.4 request to hypertext link s //registry.npmjs.org/pm2 failed, reason: self signed certificate in certificate chain
17 verbose type system
18 verbose stack FetchError: request to hypertext link s //registry.npmjs.org/pm2 failed, reason: self signed certificate in certificate chain
18 verbose stack at ClientRequest.req.on.err (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/index.js:68:14)
18 verbose stack at emitOne (events.js:115:13)
18 verbose stack at ClientRequest.emit (events.js:210:7)
18 verbose stack at TLSSocket.socketErrorListener (_http_client.js:400:9)
18 verbose stack at emitOne (events.js:115:13)
18 verbose stack at TLSSocket.emit (events.js:210:7)
18 verbose stack at emitErrorNT (internal/streams/destroy.js:62:8)
18 verbose stack at _combinedTickCallback (internal/process/next_tick.js:102:11)
18 verbose stack at process._tickCallback (internal/process/next_tick.js:161:9)
19 verbose cwd /var/www/html/admin/modules/pm2/node
20 verbose Linux 3.10.0-514.26.2.el7.x86_64
21 verbose argv “/usr/bin/node” “/usr/bin/npm” "install"
22 verbose node v8.1.4
23 verbose npm v5.0.3
24 error code SELF_SIGNED_CERT_IN_CHAIN
25 error errno SELF_SIGNED_CERT_IN_CHAIN
26 error request to hypertext link s //registry.npmjs.org/pm2 failed, reason: self signed certificate in certificate chain
27 verbose exit [ 1, true ]

so tried to use “Let’s Encrypt” to get a signed certificate. Am behind an isp dynamic ip. do have an ddns domain name that matches that ip address. however “Let’s Encrypt” expects a running http server at that address, which right now there is not. I am not sure I understand why all this certificate stuff to run a pbx using an ITSP. Guess I don’t understand why anyone would need encrypted external access to the freepbx server. I am beginning to think what I wanted to try just isn’t possible. Maybe someone can point me in the right direction. Thanks.