Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 88c2239fdb | |||
| b5f9d0a7fc | |||
| 1ec29e4519 | |||
| a15c43b3d0 | |||
| 9bc96bdb5f | |||
| 4bdcee11ea | |||
| e1cd1ec001 | |||
| e8a9a79687 | |||
| 7d628be826 | |||
| 7a42ab3108 | |||
| ec573e1074 | |||
| 9c5033daea | |||
| fb4d857224 | |||
| e0d6260d1a |
@@ -1,5 +1,7 @@
|
||||
WEB_PORT=3300
|
||||
|
||||
WEB_ORIGIN=http://localhost:3001
|
||||
|
||||
DB_HOSTNAME=database
|
||||
DB_DATABASE=chat
|
||||
DB_USERNAME=chat
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
|
||||
FROM node:16
|
||||
FROM node:18-bullseye-slim
|
||||
WORKDIR "/app"
|
||||
COPY package*.json ./
|
||||
RUN npm install --production
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2021 Kayne Ruse, KR Game Studios
|
||||
Copyright (c) 2021-2023 Kayne Ruse, KR Game Studios
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
|
||||
|
||||
+3
-1
@@ -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-bullseye-slim
|
||||
WORKDIR "/app"
|
||||
COPY package*.json ./
|
||||
RUN npm install --production
|
||||
|
||||
Generated
+188
-2945
File diff suppressed because it is too large
Load Diff
+8
-8
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "chat-server",
|
||||
"version": "1.2.8",
|
||||
"version": "1.4.4",
|
||||
"description": "An API centric chat server. Uses Sequelize and mariaDB by default.",
|
||||
"main": "server/server.js",
|
||||
"scripts": {
|
||||
@@ -20,14 +20,14 @@
|
||||
"homepage": "https://github.com/krgamestudios/chat-server#readme",
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^8.6.0",
|
||||
"express": "^4.17.1",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
"mariadb": "^2.5.4",
|
||||
"sequelize": "^6.6.5",
|
||||
"socket.io": "^4.1.3"
|
||||
"dotenv": "^16.0.3",
|
||||
"express": "^4.18.2",
|
||||
"jsonwebtoken": "^9.0.0",
|
||||
"mariadb": "^3.1.1",
|
||||
"sequelize": "^6.31.1",
|
||||
"socket.io": "^4.6.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.12"
|
||||
"nodemon": "^2.0.22"
|
||||
}
|
||||
}
|
||||
|
||||
+7
-2
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user