From: ben-larson Date: Wed, 16 Dec 2020 01:30:37 +0000 (-0600) Subject: Dockerize (#17) X-Git-Url: http://git.neb.cc/?a=commitdiff_plain;h=057acdd0be00ec95cee91591680c48583fdc681f;p=xyz.git Dockerize (#17) --- diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6a09cdf --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.github/ +dist/ +node_modules/ +.gitignore +.prettierrc diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b450525 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM node:current-slim as build +WORKDIR /app +COPY ./package.json ./package.json +RUN npm install --only=production +COPY . . +RUN npm run build + +FROM nginx:alpine +COPY --from=build /app/dist /usr/share/nginx/html +COPY nginx.conf /etc/nginx +EXPOSE 80 +CMD [ "nginx", "-g", "daemon off;" ] diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..c38d18b --- /dev/null +++ b/nginx.conf @@ -0,0 +1,25 @@ +user root; +worker_processes auto; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + sendfile off; + keepalive_timeout 3000; + + server_tokens off; # disable nginx version + add_header X-Frame-Options SAMEORIGIN; # NO iframes + add_header X-Content-Type-Options nosniff; # NO MIME attack + add_header X-XSS-Protection "1; mode=block"; # No cross-site scripting + + server { + listen 80; + server_name localhost; + root /usr/share/nginx/html; + index index.html; + } +} diff --git a/package-lock.json b/package-lock.json index 33b1035..ba223f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -106,7 +106,6 @@ "version": "7.9.0", "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz", "integrity": "sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.8.3", "@babel/types": "^7.9.0" @@ -116,7 +115,6 @@ "version": "7.9.5", "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz", "integrity": "sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.8.3", "@babel/helper-module-imports": "^7.8.3", @@ -505,7 +503,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } @@ -779,7 +776,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } @@ -788,7 +784,6 @@ "version": "7.9.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz", "integrity": "sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==", - "dev": true, "requires": { "@babel/helper-builder-react-jsx": "^7.9.0", "@babel/helper-builder-react-jsx-experimental": "^7.9.0", @@ -800,7 +795,6 @@ "version": "7.9.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz", "integrity": "sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==", - "dev": true, "requires": { "@babel/helper-builder-react-jsx-experimental": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", @@ -811,7 +805,6 @@ "version": "7.9.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz", "integrity": "sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", "@babel/plugin-syntax-jsx": "^7.8.3" @@ -821,7 +814,6 @@ "version": "7.9.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz", "integrity": "sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", "@babel/plugin-syntax-jsx": "^7.8.3" @@ -984,7 +976,6 @@ "version": "7.9.4", "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.4.tgz", "integrity": "sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", "@babel/plugin-transform-react-display-name": "^7.8.3", diff --git a/package.json b/package.json index 19f26ac..03d43db 100644 --- a/package.json +++ b/package.json @@ -19,13 +19,13 @@ }, "homepage": "https://github.com/ben-larson/xyz#readme", "devDependencies": { - "@babel/preset-react": "^7.9.4", "jest": "^25.3.0", "react-hot-loader": "^4.12.20", "webpack-dev-server": "^3.10.3" }, "dependencies": { "@babel/preset-env": "^7.9.5", + "@babel/preset-react": "^7.9.4", "babel-loader": "^8.1.0", "copy-webpack-plugin": "^5.1.1", "react": "^16.13.1",