diff --git a/packages/app/Dockerfile b/packages/app/Dockerfile new file mode 100644 index 00000000..35d7be47 --- /dev/null +++ b/packages/app/Dockerfile @@ -0,0 +1,18 @@ +FROM node:16-alpine + +RUN apk add git +RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app + +WORKDIR /home/node/app +USER node + +EXPOSE 9000 + +COPY package.json ./ +COPY --chown=node:node . . + +RUN chmod -R 777 /home/node/app +RUN npm install +RUN npm run build:dist + +CMD ["node", "/home/node/app/server.js"] \ No newline at end of file diff --git a/packages/app/docker-compose.yml b/packages/app/docker-compose.yml new file mode 100644 index 00000000..8587ac66 --- /dev/null +++ b/packages/app/docker-compose.yml @@ -0,0 +1,8 @@ +version: "3" + +services: + app: + build: "." + restart: unless-stopped + ports: + - "9000:9000" \ No newline at end of file diff --git a/packages/app/server.js b/packages/app/server.js new file mode 100644 index 00000000..e10ab228 --- /dev/null +++ b/packages/app/server.js @@ -0,0 +1,15 @@ +const express = require("express") +const path = require("path") +const app = express() + +const portFromArgs = process.argv[2] +let portListen = portFromArgs ? portFromArgs : 9000 + +app.use(express.static(path.join(__dirname, "dist"))) + +app.get("/", function (req, res) { + res.sendFile(path.join(__dirname, "dist", "index.html")) +}) + +app.listen(portListen) +console.log(`🌐 Listening app in port [${portListen}]`) \ No newline at end of file