]> git.neb.cc Git - xyz.git/commitdiff
Dockerize (#17)
authorben-larson <[email protected]>
Wed, 16 Dec 2020 01:30:37 +0000 (19:30 -0600)
committerGitHub <[email protected]>
Wed, 16 Dec 2020 01:30:37 +0000 (19:30 -0600)
.dockerignore [new file with mode: 0644]
Dockerfile [new file with mode: 0644]
nginx.conf [new file with mode: 0644]
package-lock.json
package.json

diff --git a/.dockerignore b/.dockerignore
new file mode 100644 (file)
index 0000000..6a09cdf
--- /dev/null
@@ -0,0 +1,5 @@
+.github/
+dist/
+node_modules/
+.gitignore
+.prettierrc
diff --git a/Dockerfile b/Dockerfile
new file mode 100644 (file)
index 0000000..b450525
--- /dev/null
@@ -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 (file)
index 0000000..c38d18b
--- /dev/null
@@ -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;
+    }
+}
index 33b103510b956d5a89893e120e946531e9e1ea04..ba223f83b37dd3cb5c97f3652efcfc0a0cac0670 100644 (file)
       "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"
       "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",
       "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"
       }
       "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"
       }
       "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",
       "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",
       "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"
       "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"
       "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",
index 19f26acfee77970ef7c889ada2e93aff9f410364..03d43db90a47c7357ed7ede2d39254f314c9fe56 100644 (file)
   },
   "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",