Compare commits

...

2 Commits

Author SHA1 Message Date
Kayne Ruse 9c5033daea Updated dependencies 2022-08-01 10:40:43 +01:00
Kayne Ruse fb4d857224 Tweaked cors handing 2022-07-26 13:40:18 +01:00
6 changed files with 52 additions and 38 deletions
+2
View File
@@ -1,5 +1,7 @@
WEB_PORT=3300
WEB_ORIGIN=http://localhost:3001
DB_HOSTNAME=database
DB_DATABASE=chat
DB_USERNAME=chat
+1 -2
View File
@@ -1,5 +1,4 @@
FROM node:16
FROM node:18
WORKDIR "/app"
COPY package*.json ./
RUN npm install --production
+3 -1
View File
@@ -30,6 +30,7 @@ const question = (prompt, def = null) => {
//project configuration
const appName = await question('App Name', 'chat');
const appWebAddress = await question('Web Addr', `${appName}.example.com`);
const appWebOrigin = await question('Web Origin', `https://example.com`); //TODO: clean these up properly
const appPort = await question('App Port', '3300');
const appDBUser = await question('DB User', appName);
@@ -59,6 +60,7 @@ services:
- "traefik.http.services.${appName}service.loadbalancer.server.port=${appPort}"
environment:
- WEB_PORT=${appPort}
- WEB_ORIGIN=${appWebOrigin}
- DB_HOSTNAME=database
- DB_DATABASE=${appName}
- DB_USERNAME=${appDBUser}
@@ -108,7 +110,7 @@ networks:
`;
const dockerfile = `
FROM node:16
FROM node:18
WORKDIR "/app"
COPY package*.json ./
RUN npm install --production
+36 -30
View File
@@ -1,19 +1,19 @@
{
"name": "chat-server",
"version": "1.2.8",
"version": "1.3.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "chat-server",
"version": "1.2.8",
"version": "1.3.1",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^8.6.0",
"dotenv": "^16.0.1",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mariadb": "^2.5.4",
"mariadb": "^3.0.1",
"sequelize": "^6.6.5",
"socket.io": "^4.1.3"
},
@@ -21,6 +21,17 @@
"nodemon": "^2.0.12"
}
},
"node_modules/@alloc/quick-lru": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@types/component-emitter": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
@@ -309,11 +320,11 @@
}
},
"node_modules/dotenv": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
"integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
"integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==",
"engines": {
"node": ">=10"
"node": ">=12"
}
},
"node_modules/dottie": {
@@ -753,11 +764,6 @@
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
},
"node_modules/long": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz",
"integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w=="
},
"node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -770,20 +776,20 @@
}
},
"node_modules/mariadb": {
"version": "2.5.6",
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.5.6.tgz",
"integrity": "sha512-zBx7loYY5GzLl8Y6AKxGXfY9DUYIIdGrmEORPOK9FEu0pg5ZLBKCGJuucHwKADxTBxKY7eM4rxndqxRcnMZKIw==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-3.0.1.tgz",
"integrity": "sha512-orYg4JojWszNWlI1a+We2TUe4h+S5WIkjUa0U4DF0jjrOtxBVtCsQtioXxURWCxVfxwQ5wZVZkBoa53lqRuQeQ==",
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"@types/geojson": "^7946.0.8",
"@types/node": "^17.0.10",
"denque": "^2.0.1",
"iconv-lite": "^0.6.3",
"long": "^5.2.0",
"moment-timezone": "^0.5.34",
"please-upgrade-node": "^3.2.0"
},
"engines": {
"node": ">= 10.13"
"node": ">= 12"
}
},
"node_modules/mariadb/node_modules/iconv-lite": {
@@ -1541,6 +1547,11 @@
}
},
"dependencies": {
"@alloc/quick-lru": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="
},
"@types/component-emitter": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
@@ -1771,9 +1782,9 @@
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
},
"dotenv": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
"integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g=="
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
"integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ=="
},
"dottie": {
"version": "2.0.2",
@@ -2125,11 +2136,6 @@
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
},
"long": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz",
"integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w=="
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -2139,15 +2145,15 @@
}
},
"mariadb": {
"version": "2.5.6",
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.5.6.tgz",
"integrity": "sha512-zBx7loYY5GzLl8Y6AKxGXfY9DUYIIdGrmEORPOK9FEu0pg5ZLBKCGJuucHwKADxTBxKY7eM4rxndqxRcnMZKIw==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-3.0.1.tgz",
"integrity": "sha512-orYg4JojWszNWlI1a+We2TUe4h+S5WIkjUa0U4DF0jjrOtxBVtCsQtioXxURWCxVfxwQ5wZVZkBoa53lqRuQeQ==",
"requires": {
"@alloc/quick-lru": "^5.2.0",
"@types/geojson": "^7946.0.8",
"@types/node": "^17.0.10",
"denque": "^2.0.1",
"iconv-lite": "^0.6.3",
"long": "^5.2.0",
"moment-timezone": "^0.5.34",
"please-upgrade-node": "^3.2.0"
},
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "chat-server",
"version": "1.2.8",
"version": "1.3.1",
"description": "An API centric chat server. Uses Sequelize and mariaDB by default.",
"main": "server/server.js",
"scripts": {
@@ -20,10 +20,10 @@
"homepage": "https://github.com/krgamestudios/chat-server#readme",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^8.6.0",
"dotenv": "^16.0.1",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mariadb": "^2.5.4",
"mariadb": "^3.0.1",
"sequelize": "^6.6.5",
"socket.io": "^4.1.3"
},
+7 -2
View File
@@ -7,14 +7,19 @@ const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server, {
cors: {
origin: '*'
origin: process.env.WEB_ORIGIN
}
});
const cors = require('cors');
//config
app.use(express.json());
app.use(cors());
app.use(cors({
credentials: true,
origin: [`${process.env.WEB_ORIGIN}`], //because auth-server
allowedHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization', 'Set-Cookie'],
exposedHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization', 'Set-Cookie'],
}));
//database connection
const database = require('./database');