Dockerfile:
FROM node:alpine
MAINTAINER Joseph Shinaberry <joseph.shinaberry@spathesystems.com>
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY . /app
USER root
RUN apk add --no-cache --virtual .gyp \
python \
make \
g++ \
&& npm install \
npm install @vue/cli -g \
&& apk del .gyp \
&& vue-cli-service build
RUN chown -R 1001:0 /app
USER 1001
# OPEN PORT
EXPOSE 8080
# start app
CMD [ "node", "server.js" ]Dependencies add to package.json
"connect-history-api-fallback": "^1.6.0",
"express": "^4.15.2",Server.js file
const express = require('express');
const path = require('path');
const history = require('connect-history-api-fallback');
const app = express();
const staticFileMiddleware = express.static(path.join(__dirname + '/dist'));
app.use(staticFileMiddleware);
app.use(history({
disableDotRule: true,
verbose: true
}));
app.use(staticFileMiddleware);
app.get('/', function (req, res) {
res.render(path.join(__dirname + '/dist/index.html'));
});
var server = app.listen(process.env.PORT || 8080, function () {
var port = server.address().port;
console.log("App now running on port", port);
});