Startup fails if sudo is not present on the system
While testing deployment on a VPS that defaults to the root account (this is not how you should deploy a live server ever but still), ran into this. We should handle this more gracefully.
Output follows:
root@my-demo:~# web-server site
💖 Indie Web Server v6.0.2
/bin/sh: 1: sudo: not found
Error: could not get privileges for Node.js to bind to port 443. { Error: Command failed: sudo setcap 'cap_net_bind_service=+ep' $(which node)
/bin/sh: 1: sudo: not found
at checkExecSyncError (child_process.js:616:11)
at Object.execSync (child_process.js:653:13)
at WebServer._ensureWeCanBindToPort (/usr/lib/node_modules/@ind.ie/web-server/index.js:185:24)
at WebServer.serve (/usr/lib/node_modules/@ind.ie/web-server/index.js:84:10)
at Object.<anonymous> (/usr/lib/node_modules/@ind.ie/web-server/bin/web-server.js:61:11)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
status: 127,
signal: null,
output:
[ null,
<Buffer >,
<Buffer 2f 62 69 6e 2f 73 68 3a 20 31 3a 20 73 75 64 6f 3a 20 6e 6f 74 20 66 6f 75 6e 64 0a> ],
pid: 3441,
stdout: <Buffer >,
stderr:
<Buffer 2f 62 69 6e 2f 73 68 3a 20 31 3a 20 73 75 64 6f 3a 20 6e 6f 74 20 66 6f 75 6e 64 0a> }
/usr/lib/node_modules/@ind.ie/web-server/index.js:192
throw error
^
Error: Command failed: sudo setcap 'cap_net_bind_service=+ep' $(which node)
/bin/sh: 1: sudo: not found
at checkExecSyncError (child_process.js:616:11)
at Object.execSync (child_process.js:653:13)
at WebServer._ensureWeCanBindToPort (/usr/lib/node_modules/@ind.ie/web-server/index.js:185:24)
at WebServer.serve (/usr/lib/node_modules/@ind.ie/web-server/index.js:84:10)
at Object.<anonymous> (/usr/lib/node_modules/@ind.ie/web-server/bin/web-server.js:61:11)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)