From 740149deb7fa571fa28451b4ac900514ec87c63b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20=C3=85kesson?= <sermuns@hades.lysator.liu.se>
Date: Fri, 15 Sep 2023 14:30:18 +0200
Subject: [PATCH] Trying to use greenlock-express... this wont work either

---
 nodejs-server/.greenlockrc                |   1 +
 nodejs-server/app.js                      |   9 +
 nodejs-server/greenlock.d/config.json     |  26 ++
 nodejs-server/greenlock.d/config.json.bak |  18 ++
 nodejs-server/package-lock.json           | 282 +++++++++++++++++++++-
 nodejs-server/package.json                |   4 +-
 nodejs-server/server.js                   |  17 +-
 7 files changed, 346 insertions(+), 11 deletions(-)
 create mode 100644 nodejs-server/.greenlockrc
 create mode 100644 nodejs-server/app.js
 create mode 100644 nodejs-server/greenlock.d/config.json
 create mode 100644 nodejs-server/greenlock.d/config.json.bak

diff --git a/nodejs-server/.greenlockrc b/nodejs-server/.greenlockrc
new file mode 100644
index 0000000..5e1e851
--- /dev/null
+++ b/nodejs-server/.greenlockrc
@@ -0,0 +1 @@
+{"manager":{"module":"@greenlock/manager"},"configDir":"./greenlock.d"}
\ No newline at end of file
diff --git a/nodejs-server/app.js b/nodejs-server/app.js
new file mode 100644
index 0000000..fd6aac7
--- /dev/null
+++ b/nodejs-server/app.js
@@ -0,0 +1,9 @@
+'use strict';
+
+// Here's a vanilla HTTP app to start,
+// but feel free to replace it with Express, Koa, etc
+var app = function(req, res) {
+    res.end('Hello, Encrypted World!');
+};
+
+module.exports = app;
diff --git a/nodejs-server/greenlock.d/config.json b/nodejs-server/greenlock.d/config.json
new file mode 100644
index 0000000..0fe6ae8
--- /dev/null
+++ b/nodejs-server/greenlock.d/config.json
@@ -0,0 +1,26 @@
+{
+  "defaults": {
+    "store": {
+      "module": "greenlock-store-fs"
+    },
+    "challenges": {
+      "http-01": {
+        "module": "acme-http-01-standalone"
+      }
+    },
+    "renewOffset": "-45d",
+    "renewStagger": "3d",
+    "accountKeyType": "EC-P256",
+    "serverKeyType": "RSA-2048",
+    "subscriberEmail": "sermuns@lysator.liu.se"
+  },
+  "sites": [
+    {
+      "subject": "shipon.lysator.liu.se",
+      "altnames": [
+        "shipon.lysator.liu.se"
+      ],
+      "renewAt": 1
+    }
+  ]
+}
\ No newline at end of file
diff --git a/nodejs-server/greenlock.d/config.json.bak b/nodejs-server/greenlock.d/config.json.bak
new file mode 100644
index 0000000..d497066
--- /dev/null
+++ b/nodejs-server/greenlock.d/config.json.bak
@@ -0,0 +1,18 @@
+{
+  "defaults": {
+    "store": {
+      "module": "greenlock-store-fs"
+    },
+    "challenges": {
+      "http-01": {
+        "module": "acme-http-01-standalone"
+      }
+    },
+    "renewOffset": "-45d",
+    "renewStagger": "3d",
+    "accountKeyType": "EC-P256",
+    "serverKeyType": "RSA-2048",
+    "subscriberEmail": "sermuns@lysator.liu.se"
+  },
+  "sites": []
+}
\ No newline at end of file
diff --git a/nodejs-server/package-lock.json b/nodejs-server/package-lock.json
index fd8c634..7b58da8 100644
--- a/nodejs-server/package-lock.json
+++ b/nodejs-server/package-lock.json
@@ -9,11 +9,121 @@
       "version": "1.0.0",
       "license": "ISC",
       "dependencies": {
+        "acme-client": "^5.0.0",
         "body-parser": "^1.20.2",
         "child_process": "^1.0.2",
         "cors": "^2.8.5",
         "express": "^4.18.2",
-        "fs": "^0.0.1-security"
+        "fs": "^0.0.1-security",
+        "greenlock-express": "^4.0.3"
+      }
+    },
+    "node_modules/@greenlock/manager": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@greenlock/manager/-/manager-3.1.0.tgz",
+      "integrity": "sha512-PBy5CMK+j4oD7sj7hF5qE+xKEOSiiuL2hHd5X5ttEbtnTSDKjNeqbrR5k2ZddwVNdjOVeBIeuqlm81IFZ+Ftew==",
+      "dependencies": {
+        "greenlock-manager-fs": "^3.1.0"
+      }
+    },
+    "node_modules/@root/acme": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@root/acme/-/acme-3.1.0.tgz",
+      "integrity": "sha512-GAyaW63cpSYd2KvVp5lHLbCWeEhJPKZK9nsJvZJOKsD9Uv88KEttn4FpDZEJ+2q3Jsey0DWpuQ2I4ft0JV9p2w==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "@root/csr": "^0.8.1",
+        "@root/encoding": "^1.0.1",
+        "@root/keypairs": "^0.10.0",
+        "@root/pem": "^1.0.4",
+        "@root/request": "^1.6.1",
+        "@root/x509": "^0.7.2"
+      }
+    },
+    "node_modules/@root/asn1": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@root/asn1/-/asn1-1.0.0.tgz",
+      "integrity": "sha512-0lfZNuOULKJDJmdIkP8V9RnbV3XaK6PAHD3swnFy4tZwtlMDzLKoM/dfNad7ut8Hu3r91wy9uK0WA/9zym5mig==",
+      "dependencies": {
+        "@root/encoding": "^1.0.1"
+      }
+    },
+    "node_modules/@root/csr": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/@root/csr/-/csr-0.8.1.tgz",
+      "integrity": "sha512-hKl0VuE549TK6SnS2Yn9nRvKbFZXn/oAg+dZJU/tlKl/f/0yRXeuUzf8akg3JjtJq+9E592zDqeXZ7yyrg8fSQ==",
+      "dependencies": {
+        "@root/asn1": "^1.0.0",
+        "@root/pem": "^1.0.4",
+        "@root/x509": "^0.7.2"
+      }
+    },
+    "node_modules/@root/encoding": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@root/encoding/-/encoding-1.0.1.tgz",
+      "integrity": "sha512-OaEub02ufoU038gy6bsNHQOjIn8nUjGiLcaRmJ40IUykneJkIW5fxDqKxQx48cszuNflYldsJLPPXCrGfHs8yQ=="
+    },
+    "node_modules/@root/greenlock": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/@root/greenlock/-/greenlock-4.0.5.tgz",
+      "integrity": "sha512-KR9w3mYE9aH33FCibI8oSYBQV+f7lc3MVPdZ9nxY2tqRLmJp05cMOMz340mtG14VnWDuznLj4TbBj3sHIuoQPQ==",
+      "dependencies": {
+        "@greenlock/manager": "^3.1.0",
+        "@root/acme": "^3.1.0",
+        "@root/csr": "^0.8.1",
+        "@root/keypairs": "^0.10.0",
+        "@root/mkdirp": "^1.0.0",
+        "@root/request": "^1.6.1",
+        "acme-http-01-standalone": "^3.0.5",
+        "cert-info": "^1.5.1",
+        "greenlock-store-fs": "^3.2.2",
+        "safe-replace": "^1.1.0"
+      },
+      "bin": {
+        "greenlock": "bin/greenlock.js"
+      }
+    },
+    "node_modules/@root/greenlock-express": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/@root/greenlock-express/-/greenlock-express-4.0.4.tgz",
+      "integrity": "sha512-a0/9tHNQwt5Uyod7Mp59lo5UwrjdpOaRgaw8oKvDopVvrjsk1Urdhz9MoLh5p4APt7KhAI/hMFSG4gvczgSwaA==",
+      "dependencies": {
+        "@root/greenlock": "^4.0.5",
+        "redirect-https": "^1.3.1"
+      }
+    },
+    "node_modules/@root/keypairs": {
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/@root/keypairs/-/keypairs-0.10.3.tgz",
+      "integrity": "sha512-hbmjVbk/G99Z1XlUzJM4VOAaR8jm4vMnfwpZL301FA24ubJ/bOjj6enCrz9gKsQvBO6RY4/R4MgUuWpXeqeZZQ==",
+      "dependencies": {
+        "@root/encoding": "^1.0.1",
+        "@root/pem": "^1.0.4",
+        "@root/x509": "^0.7.2"
+      }
+    },
+    "node_modules/@root/mkdirp": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@root/mkdirp/-/mkdirp-1.0.0.tgz",
+      "integrity": "sha512-hxGAYUx5029VggfG+U9naAhQkoMSXtOeXtbql97m3Hi6/sQSRL/4khKZPyOF6w11glyCOU38WCNLu9nUcSjOfA=="
+    },
+    "node_modules/@root/pem": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@root/pem/-/pem-1.0.4.tgz",
+      "integrity": "sha512-rEUDiUsHtild8GfIjFE9wXtcVxeS+ehCJQBwbQQ3IVfORKHK93CFnRtkr69R75lZFjcmKYVc+AXDB+AeRFOULA=="
+    },
+    "node_modules/@root/request": {
+      "version": "1.9.2",
+      "resolved": "https://registry.npmjs.org/@root/request/-/request-1.9.2.tgz",
+      "integrity": "sha512-wVaL9yVV9oDR9UNbPZa20qgY+4Ch6YN8JUkaE4el/uuS5dmhD8Lusm/ku8qJVNtmQA56XLzEDCRS6/vfpiHK2A=="
+    },
+    "node_modules/@root/x509": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@root/x509/-/x509-0.7.2.tgz",
+      "integrity": "sha512-ENq3LGYORK5NiMFHEVeNMt+fTXaC7DTS6sQXoqV+dFdfT0vmiL5cDLjaXQhaklJQq0NiwicZegzJRl1ZOTp3WQ==",
+      "dependencies": {
+        "@root/asn1": "^1.0.0",
+        "@root/encoding": "^1.0.1"
       }
     },
     "node_modules/accepts": {
@@ -28,11 +138,65 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/acme-client": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/acme-client/-/acme-client-5.0.0.tgz",
+      "integrity": "sha512-sNeNiBKoxfLZi3wkEp27vq7coiuKBFz9LYBK00sWcODYupeHwMk8sXJOqLola9gkpTVdo569ApDqbwVa2FAd4w==",
+      "dependencies": {
+        "axios": "0.27.2",
+        "debug": "^4.1.1",
+        "jsrsasign": "^10.5.26",
+        "node-forge": "^1.3.1"
+      },
+      "engines": {
+        "node": ">= 16"
+      }
+    },
+    "node_modules/acme-client/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/acme-client/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+    },
+    "node_modules/acme-http-01-standalone": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/acme-http-01-standalone/-/acme-http-01-standalone-3.0.5.tgz",
+      "integrity": "sha512-W4GfK+39GZ+u0mvxRVUcVFCG6gposfzEnSBF20T/NUwWAKG59wQT1dUbS1NixRIAsRuhpGc4Jx659cErFQH0Pg=="
+    },
     "node_modules/array-flatten": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
       "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
     },
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+    },
+    "node_modules/axios": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+      "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+      "dependencies": {
+        "follow-redirects": "^1.14.9",
+        "form-data": "^4.0.0"
+      }
+    },
     "node_modules/body-parser": {
       "version": "1.20.2",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
@@ -76,11 +240,30 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/cert-info": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/cert-info/-/cert-info-1.5.1.tgz",
+      "integrity": "sha512-eoQC/yAgW3gKTKxjzyClvi+UzuY97YCjcl+lSqbsGIy7HeGaWxCPOQFivhUYm27hgsBMhsJJFya3kGvK6PMIcQ==",
+      "bin": {
+        "cert-info": "bin/cert-info.js"
+      }
+    },
     "node_modules/child_process": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz",
       "integrity": "sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g=="
     },
+    "node_modules/combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dependencies": {
+        "delayed-stream": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
     "node_modules/content-disposition": {
       "version": "0.5.4",
       "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -133,6 +316,14 @@
         "ms": "2.0.0"
       }
     },
+    "node_modules/delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
     "node_modules/depd": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -271,6 +462,38 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/follow-redirects": {
+      "version": "1.15.2",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+      "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/RubenVerborgh"
+        }
+      ],
+      "engines": {
+        "node": ">=4.0"
+      },
+      "peerDependenciesMeta": {
+        "debug": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/form-data": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "mime-types": "^2.1.12"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
     "node_modules/forwarded": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -311,6 +534,34 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/greenlock-express": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/greenlock-express/-/greenlock-express-4.0.3.tgz",
+      "integrity": "sha512-swTCuaLcZWbwRe9gf28AN1VO2PLiAoPB7StVhEFTBqCqqoHgiu0PJqdz3IbnfXB/8Kckx4sZ+B+Re2BvoCHY4A==",
+      "dependencies": {
+        "@root/greenlock": "^4.0.4",
+        "@root/greenlock-express": "^4.0.3",
+        "redirect-https": "^1.1.5"
+      }
+    },
+    "node_modules/greenlock-manager-fs": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/greenlock-manager-fs/-/greenlock-manager-fs-3.1.1.tgz",
+      "integrity": "sha512-np6qdnPIOZx40PAcSQcqK1eMPWjTKxsxcgRd/OVg0ai49WC1Ds74CTrwmB84pq2n53ikbnDBQFmKEQ4AC0DK8w==",
+      "dependencies": {
+        "@root/mkdirp": "^1.0.0",
+        "safe-replace": "^1.1.0"
+      }
+    },
+    "node_modules/greenlock-store-fs": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/greenlock-store-fs/-/greenlock-store-fs-3.2.2.tgz",
+      "integrity": "sha512-92ejLB4DyV4qv/2b6VLGF2nKfYQeIfg3o+e/1cIoYLjlIaUFdbBXkzLTRozFlHsQPZt2ALi5qYrpC9IwH7GK8A==",
+      "dependencies": {
+        "@root/mkdirp": "^1.0.0",
+        "safe-replace": "^1.1.0"
+      }
+    },
     "node_modules/has": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -383,6 +634,14 @@
         "node": ">= 0.10"
       }
     },
+    "node_modules/jsrsasign": {
+      "version": "10.8.6",
+      "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.8.6.tgz",
+      "integrity": "sha512-bQmbVtsfbgaKBTWCKiDCPlUPbdlRIK/FzSwT3BzIgZl/cU6TqXu6pZJsCI/dJVrZ9Gir5GC4woqw9shH/v7MBw==",
+      "funding": {
+        "url": "https://github.com/kjur/jsrsasign#donations"
+      }
+    },
     "node_modules/media-typer": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -447,6 +706,14 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/node-forge": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+      "engines": {
+        "node": ">= 6.13.0"
+      }
+    },
     "node_modules/object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -535,6 +802,14 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/redirect-https": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/redirect-https/-/redirect-https-1.3.1.tgz",
+      "integrity": "sha512-Stex2nI+tMpZXKvy++32TiBXEy+GdpAfp3EUnl5BqCiJ5f5i6XvUSFrs7TR7IoRSlthM7ZtD89uYGTtJBXlFYg==",
+      "dependencies": {
+        "escape-html": "^1.0.3"
+      }
+    },
     "node_modules/safe-buffer": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -554,6 +829,11 @@
         }
       ]
     },
+    "node_modules/safe-replace": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/safe-replace/-/safe-replace-1.1.0.tgz",
+      "integrity": "sha512-9/V2E0CDsKs9DWOOwJH7jYpSl9S3N05uyevNjvsnDauBqRowBPOyot1fIvV5N2IuZAbYyvrTXrYFVG0RZInfFw=="
+    },
     "node_modules/safer-buffer": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
diff --git a/nodejs-server/package.json b/nodejs-server/package.json
index 07387d1..fd7647c 100644
--- a/nodejs-server/package.json
+++ b/nodejs-server/package.json
@@ -10,10 +10,12 @@
   "author": "",
   "license": "ISC",
   "dependencies": {
+    "acme-client": "^5.0.0",
     "body-parser": "^1.20.2",
     "child_process": "^1.0.2",
     "cors": "^2.8.5",
     "express": "^4.18.2",
-    "fs": "^0.0.1-security"
+    "fs": "^0.0.1-security",
+    "greenlock-express": "^4.0.3"
   }
 }
diff --git a/nodejs-server/server.js b/nodejs-server/server.js
index 8c2d647..78e7ac3 100644
--- a/nodejs-server/server.js
+++ b/nodejs-server/server.js
@@ -63,13 +63,12 @@ app.get('/:query', (req, res) => {
   });
 });
 
-// SSL options
-//const options = {
-//	key : fs.readFileSync('/home/sermuns/.ssl/key.pem'),
-//	cert: fs.readFileSync('/home/sermuns/.ssl/cert.pem')
-//}
-//const server = https.createServer(options, app)
+const glx = require('greenlock-express').init({
+        packageRoot: __dirname,
+        // where to look for configuration
+        configDir: './greenlock.d',
+        // whether or not to run at cloudscale
+        cluster: false
+})
 
-app.listen(port, () => {
-	console.log(`Server is running on port ${port}`);
-});
+glx.serve(app)
-- 
GitLab