diff --git a/.gitignore b/.gitignore index b05fbaaece..1c5cde7949 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ node_modules */build/dist/* # Build Dist -*/dist/* +**/dist/* .idea # testing @@ -74,3 +74,4 @@ logs.txt */Cert.crt */Key.key Nginx/default.conf + diff --git a/Accounts/nodemon.json b/Accounts/nodemon.json new file mode 100644 index 0000000000..7dcdd08f51 --- /dev/null +++ b/Accounts/nodemon.json @@ -0,0 +1,4 @@ +{ + "watch": ["webpack.config.js"], + "exec": "export DEBUG=express:* && webpack-dev-server --port=3003 --mode=development" +} \ No newline at end of file diff --git a/Accounts/package.json b/Accounts/package.json index 9d444e86ad..61895c0f49 100644 --- a/Accounts/package.json +++ b/Accounts/package.json @@ -18,7 +18,7 @@ "typescript": "^4.6.4" }, "scripts": { - "dev": "webpack-dev-server --port=3003 --mode=development", + "dev": "nodemon", "build": "webpack build --mode=production", "test": "", "compile": "tsc", diff --git a/Accounts/public/index.html b/Accounts/public/index.html index d2d24d5cba..c96c455fb5 100644 --- a/Accounts/public/index.html +++ b/Accounts/public/index.html @@ -15,16 +15,16 @@ - - - - - - - - + + + + + + + + - + @@ -32,10 +32,10 @@ - - - - + + + + - + diff --git a/Accounts/src/Pages/ForgotPassword.tsx b/Accounts/src/Pages/ForgotPassword.tsx index 03eb8198d5..843559b5dc 100644 --- a/Accounts/src/Pages/ForgotPassword.tsx +++ b/Accounts/src/Pages/ForgotPassword.tsx @@ -30,7 +30,7 @@ const ForgotPassword: FunctionComponent = () => { >
diff --git a/Accounts/src/Pages/Login.tsx b/Accounts/src/Pages/Login.tsx index 281b0d7071..e8b4a7bd60 100644 --- a/Accounts/src/Pages/Login.tsx +++ b/Accounts/src/Pages/Login.tsx @@ -37,7 +37,7 @@ const LoginPage: FunctionComponent = () => { >
diff --git a/Accounts/src/Pages/Register.tsx b/Accounts/src/Pages/Register.tsx index c4e4e47821..2b325bbfd6 100644 --- a/Accounts/src/Pages/Register.tsx +++ b/Accounts/src/Pages/Register.tsx @@ -37,7 +37,7 @@ const RegisterPage: FunctionComponent = () => { >
diff --git a/Accounts/src/Pages/ResetPassword.tsx b/Accounts/src/Pages/ResetPassword.tsx index d3517e7fa4..1a200e0c4a 100644 --- a/Accounts/src/Pages/ResetPassword.tsx +++ b/Accounts/src/Pages/ResetPassword.tsx @@ -31,7 +31,7 @@ const RegisterPage: FunctionComponent = () => { >
diff --git a/Accounts/src/Pages/SsoLogin.tsx b/Accounts/src/Pages/SsoLogin.tsx index 310e0182bd..271deafafb 100644 --- a/Accounts/src/Pages/SsoLogin.tsx +++ b/Accounts/src/Pages/SsoLogin.tsx @@ -27,7 +27,7 @@ const SsoLoginPage: FunctionComponent = () => { >
diff --git a/Accounts/src/Pages/VerifyEmail.tsx b/Accounts/src/Pages/VerifyEmail.tsx index 5ff555d7de..bd017f1a48 100644 --- a/Accounts/src/Pages/VerifyEmail.tsx +++ b/Accounts/src/Pages/VerifyEmail.tsx @@ -75,7 +75,7 @@ const VerifyEmail: FunctionComponent = () => { >
{!error && ( diff --git a/Accounts/webpack.config.js b/Accounts/webpack.config.js index 7977986665..c9791362f8 100644 --- a/Accounts/webpack.config.js +++ b/Accounts/webpack.config.js @@ -1,15 +1,19 @@ const path = require("path"); const webpack = require("webpack"); const dotenv = require('dotenv'); +const express = require('express'); const readEnvFile = (pathToFile) => { + const parsed = dotenv.config({ path: pathToFile }).parsed; const env = {}; + for (const key in parsed) { env[key] = JSON.stringify(parsed[key]); } + return env; } @@ -18,8 +22,8 @@ module.exports = { mode: "development", output: { filename: "bundle.js", - path: path.resolve(__dirname, "dist"), - publicPath: "/assets/", + path: path.resolve(__dirname, "public", "dist"), + publicPath: "/accounts/dist/", }, resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx', '.json', '.css', '.scss'], @@ -56,7 +60,7 @@ module.exports = { use: ['style-loader', 'css-loader'] }, { - test: /\.(jpe?g|png|gif|svg)$/i, + test: /\.(jpe?g|png|gif|svg)$/i, loader: 'file-loader' } ], @@ -66,7 +70,11 @@ module.exports = { devMiddleware: { writeToDisk: true, }, - allowedHosts: "all" + allowedHosts: "all", + setupMiddlewares: (middlewares, devServer) => { + devServer.app.use('/accounts/assets', express.static(path.resolve(__dirname, 'public', 'assets'))); + return middlewares; + } }, devtool: 'eval-source-map', } \ No newline at end of file diff --git a/Dashboard/nodemon.json b/Dashboard/nodemon.json new file mode 100644 index 0000000000..122e405ac5 --- /dev/null +++ b/Dashboard/nodemon.json @@ -0,0 +1,4 @@ +{ + "watch": ["webpack.config.js"], + "exec": "export DEBUG=express:* && webpack-dev-server --port=3009 --mode=development" +} \ No newline at end of file diff --git a/Dashboard/package.json b/Dashboard/package.json index db0bd09194..ff98ae70b5 100644 --- a/Dashboard/package.json +++ b/Dashboard/package.json @@ -22,7 +22,7 @@ "use-async-effect": "^2.2.6" }, "scripts": { - "dev": "webpack-dev-server --port=3009 --mode=development", + "dev": "nodemon", "build": "webpack build --mode=production", "test": "react-app-rewired test", "eject": "webpack eject", diff --git a/Dashboard/public/index.html b/Dashboard/public/index.html index 7be5432922..6edd6e378f 100644 --- a/Dashboard/public/index.html +++ b/Dashboard/public/index.html @@ -15,16 +15,16 @@ - - - - - - - - + + + + + + + + - + @@ -32,10 +32,10 @@ - - - - + + + + - + diff --git a/Dashboard/webpack.config.js b/Dashboard/webpack.config.js index 7977986665..d550007b83 100644 --- a/Dashboard/webpack.config.js +++ b/Dashboard/webpack.config.js @@ -1,15 +1,19 @@ const path = require("path"); const webpack = require("webpack"); const dotenv = require('dotenv'); +const express = require('express'); const readEnvFile = (pathToFile) => { + const parsed = dotenv.config({ path: pathToFile }).parsed; const env = {}; + for (const key in parsed) { env[key] = JSON.stringify(parsed[key]); } + return env; } @@ -18,8 +22,8 @@ module.exports = { mode: "development", output: { filename: "bundle.js", - path: path.resolve(__dirname, "dist"), - publicPath: "/assets/", + path: path.resolve(__dirname, "public", "dist"), + publicPath: "/dashboard/dist/", }, resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx', '.json', '.css', '.scss'], @@ -56,7 +60,7 @@ module.exports = { use: ['style-loader', 'css-loader'] }, { - test: /\.(jpe?g|png|gif|svg)$/i, + test: /\.(jpe?g|png|gif|svg)$/i, loader: 'file-loader' } ], @@ -66,7 +70,11 @@ module.exports = { devMiddleware: { writeToDisk: true, }, - allowedHosts: "all" + allowedHosts: "all", + setupMiddlewares: (middlewares, devServer) => { + devServer.app.use('/dashboard/assets', express.static(path.resolve(__dirname, 'public', 'assets'))); + return middlewares; + } }, devtool: 'eval-source-map', } \ No newline at end of file diff --git a/Nginx/default.conf b/Nginx/default.conf index 120b577b08..3bab36c523 100644 --- a/Nginx/default.conf +++ b/Nginx/default.conf @@ -107,7 +107,10 @@ server { server { listen 443 ssl; # Port HTTPS listen 80; + server_name localhost; + server_name local.oneuptime.com; + ssl_certificate /etc/nginx/certs/Cert.crt; ssl_certificate_key /etc/nginx/certs/Key.key; diff --git a/Nginx/default.tpl.conf b/Nginx/default.tpl.conf index 2936b7594d..9f8412293c 100644 --- a/Nginx/default.tpl.conf +++ b/Nginx/default.tpl.conf @@ -107,7 +107,10 @@ server { server { listen 443 ssl; # Port HTTPS listen 80; + server_name localhost; + {{ if ne .Env.DOMAIN "localhost" }} server_name {{ .Env.DOMAIN }}; + {{ end }} ssl_certificate /etc/nginx/certs/Cert.crt; ssl_certificate_key /etc/nginx/certs/Key.key; @@ -129,7 +132,7 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://home/; + proxy_pass http://home; } location /accounts { @@ -142,7 +145,7 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://accounts/; + proxy_pass http://accounts; } location /dashboard { @@ -155,7 +158,7 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://dashboard/; + proxy_pass http://dashboard; } location /status-page { @@ -168,7 +171,7 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://status-page/; + proxy_pass http://status-page; } location /identity { @@ -181,7 +184,7 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://identity/; + proxy_pass http://identity; } location /file { @@ -194,7 +197,7 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://file/; + proxy_pass http://file; client_max_body_size 50M; } @@ -209,7 +212,7 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://dashboard-api/; + proxy_pass http://dashboard-api; client_max_body_size 50M; } @@ -224,6 +227,6 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - proxy_pass http://workers/; + proxy_pass http://workers; } } \ No newline at end of file diff --git a/StatusPage/public/index.html b/StatusPage/public/index.html index 518b8708e1..70796cceee 100644 --- a/StatusPage/public/index.html +++ b/StatusPage/public/index.html @@ -19,10 +19,10 @@ - - - - + + + + - + diff --git a/StatusPage/src/Pages/Accounts/ForgotPassword.tsx b/StatusPage/src/Pages/Accounts/ForgotPassword.tsx index faa267166e..72bd5965b6 100644 --- a/StatusPage/src/Pages/Accounts/ForgotPassword.tsx +++ b/StatusPage/src/Pages/Accounts/ForgotPassword.tsx @@ -30,7 +30,7 @@ const ForgotPassword: FunctionComponent = () => { >
diff --git a/StatusPage/src/Pages/Accounts/Login.tsx b/StatusPage/src/Pages/Accounts/Login.tsx index a0844ee8f9..a039d677c4 100644 --- a/StatusPage/src/Pages/Accounts/Login.tsx +++ b/StatusPage/src/Pages/Accounts/Login.tsx @@ -37,7 +37,7 @@ const LoginPage: FunctionComponent = () => { >
diff --git a/StatusPage/src/Pages/Accounts/ResetPassword.tsx b/StatusPage/src/Pages/Accounts/ResetPassword.tsx index c33ede4f26..4274a7bd8a 100644 --- a/StatusPage/src/Pages/Accounts/ResetPassword.tsx +++ b/StatusPage/src/Pages/Accounts/ResetPassword.tsx @@ -31,7 +31,7 @@ const RegisterPage: FunctionComponent = () => { >
diff --git a/StatusPage/webpack.config.js b/StatusPage/webpack.config.js index 7977986665..cea51dfdd5 100644 --- a/StatusPage/webpack.config.js +++ b/StatusPage/webpack.config.js @@ -1,15 +1,19 @@ const path = require("path"); const webpack = require("webpack"); const dotenv = require('dotenv'); +const express = require('express'); const readEnvFile = (pathToFile) => { + const parsed = dotenv.config({ path: pathToFile }).parsed; const env = {}; + for (const key in parsed) { env[key] = JSON.stringify(parsed[key]); } + return env; } @@ -18,8 +22,8 @@ module.exports = { mode: "development", output: { filename: "bundle.js", - path: path.resolve(__dirname, "dist"), - publicPath: "/assets/", + path: path.resolve(__dirname, "public", "dist"), + publicPath: "/status-page/dist/", }, resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx', '.json', '.css', '.scss'], @@ -56,7 +60,7 @@ module.exports = { use: ['style-loader', 'css-loader'] }, { - test: /\.(jpe?g|png|gif|svg)$/i, + test: /\.(jpe?g|png|gif|svg)$/i, loader: 'file-loader' } ], @@ -66,7 +70,11 @@ module.exports = { devMiddleware: { writeToDisk: true, }, - allowedHosts: "all" + allowedHosts: "all", + setupMiddlewares: (middlewares, devServer) => { + devServer.app.use('/status-page/assets', express.static(path.resolve(__dirname, 'public', 'assets'))); + return middlewares; + } }, devtool: 'eval-source-map', } \ No newline at end of file diff --git a/backup.sh b/backup.sh new file mode 100644 index 0000000000..e69de29bb2 diff --git a/package.json b/package.json index ddb304090a..13525781eb 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "ps": "sudo docker compose ps", "logs": "sudo docker compose logs --tail=100 -f $npm_config_services", "write-logs": "sudo docker compose logs -f $npm_config_services > logs.txt", - "force-build": "npm run prerun && docker compose build --no-cache $npm_config_services", + "force-build": "npm run prerun && sudo docker compose build --no-cache $npm_config_services", "force-build-dev": "npm run config-to-dev && npm run force-build", "kill": "npm run stop", "prod": "npm run prerun && docker compose up -d", diff --git a/restore.sh b/restore.sh new file mode 100644 index 0000000000..e69de29bb2