Dennis Rodewyk %!s(int64=3) %!d(string=hai) anos
pai
achega
2c76a874ac
Modificáronse 5 ficheiros con 39 adicións e 2 borrados
  1. 23 0
      Dockerfile
  2. 1 0
      client.js
  3. 0 0
      package-lock.json
  4. 5 1
      package.json
  5. 10 1
      server.js

+ 23 - 0
Dockerfile

@@ -0,0 +1,23 @@
+FROM alpine/git AS cloner
+
+WORKDIR /home
+
+RUN git clone https://github.com/RobinLinus/snapdrop
+
+FROM node:lts-alpine
+
+WORKDIR /home/node/app
+
+COPY --from=cloner --chown=node:node /home/snapdrop/server/index.js /home/node/app/server.js
+COPY --from=cloner --chown=node:node /home/snapdrop/client /home/node/app/client
+COPY --chown=node:node package*.json /home/node/app/
+COPY --chown=node:node client.js /home/node/app/client.js
+
+RUN npm install
+
+USER node
+
+EXPOSE 8080 3000
+
+CMD ["npm", "run", "start"]
+

+ 1 - 0
client.js

@@ -0,0 +1 @@
+

+ 0 - 0
server/package-lock.json → package-lock.json


+ 5 - 1
server/package.json → package.json

@@ -2,8 +2,9 @@
   "name": "snapdrop",
   "version": "1.0.0",
   "description": "",
-  "main": "index.js",
+  "main": "server.js",
   "scripts": {
+	"start": "node server.js",
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "author": "",
@@ -11,6 +12,9 @@
   "dependencies": {
     "ua-parser-js": "^0.7.24",
     "unique-names-generator": "^4.3.0",
+    "express": "^4.17.1",
+    "serve-static": "^1.14.1",
+    "concurrently": "^6.2.0",
     "ws": "^7.4.6"
   }
 }

+ 10 - 1
server/index.js → server.js

@@ -288,4 +288,13 @@ Object.defineProperty(String.prototype, 'hashCode', {
   }
 });
 
-const server = new SnapdropServer(process.env.PORT || 3000);
+const server = new SnapdropServer(process.env.PORT || 3000);
+
+var express = require('express')
+var serveStatic = require('serve-static')
+
+var client = express()
+
+client.use(serveStatic('client', { 'index': ['index.html', 'index.htm'] }))
+client.listen(8080)
+