UNTESTED: Updated all dependencies

This commit is contained in:
2024-05-03 07:07:58 +10:00
parent 0ce2a552d8
commit 6859b36ae0
5 changed files with 115 additions and 2640 deletions
+33 -24
View File
@@ -74,20 +74,19 @@ const question = (prompt, def = null) => {
//generate the files
const ymlfile = `
version: '3.8'
services:
${appName}:
build:
context: .
ports:
- "${appPort}"
- ${appPort}
labels:
- "traefik.enable=true"
- "traefik.http.routers.${appName}router.rule=Host(\`${appWebAddress}\`)"
- "traefik.http.routers.${appName}router.entrypoints=websecure"
- "traefik.http.routers.${appName}router.tls.certresolver=myresolver"
- "traefik.http.routers.${appName}router.service=${appName}service@docker"
- "traefik.http.services.${appName}service.loadbalancer.server.port=${appPort}"
- traefik.enable=true
- traefik.http.routers.${appName}router.rule=Host(\`${appWebAddress}\`)
- traefik.http.routers.${appName}router.entrypoints=websecure
- traefik.http.routers.${appName}router.tls.certresolver=myresolver
- traefik.http.routers.${appName}router.service=${appName}service@docker
- traefik.http.services.${appName}service.loadbalancer.server.port=${appPort}
environment:
- WEB_PROTOCOL=${appWebProtocol}
- WEB_ORIGIN=${appWebOrigin}
@@ -109,10 +108,14 @@ services:
- ADMIN_DEFAULT_PASSWORD=${appDefaultPass}
- SECRET_ACCESS=${appSecretAccess}
- SECRET_REFRESH=${appSecretRefresh}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- app-network${ appDBHost != 'database' ? '' : `
depends_on:
- database
database:
image: mariadb:latest
environment:
@@ -125,35 +128,41 @@ services:
- app-network
volumes:
- ./mysql:/var/lib/mysql
- ./startup.sql:/docker-entrypoint-initdb.d/startup.sql:ro`}
- ./startup.sql:/docker-entrypoint-initdb.d/startup.sql:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro`}
traefik_${appName}:
container_name: ${appName}_traefik
image: "traefik:v2.10"
container_name: "traefik"
image: traefik:latest
container_name: traefik
command:
- "--log.level=ERROR"
- "--api.insecure=false"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=${supportEmail}"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
- --log.level=ERROR
- --api.insecure=false
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.websecure.address=:443
- --certificatesresolvers.myresolver.acme.tlschallenge=true
- --certificatesresolvers.myresolver.acme.email=${supportEmail}
- --certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json
ports:
- "80:80"
- "443:443"
- 80:80
- 443:443
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- ./letsencrypt:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- app-network
networks:
app-network:
driver: bridge
`;
const dockerfile = `
FROM node:21-bookworm-slim
FROM node:22-bookworm-slim
WORKDIR "/app"
COPY package*.json ./
RUN npm install --production
+76 -2609
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -27,9 +27,8 @@
"jsonwebtoken": "^9.0.2",
"mariadb": "^3.3.0",
"node-cron": "^3.0.3",
"node-fetch": "^2.7.0",
"node-fetch": "^3.3.2",
"nodemailer": "^6.9.13",
"npm": "^10.5.2",
"sequelize": "^6.37.3"
},
"devDependencies": {
+1 -1
View File
@@ -1,5 +1,5 @@
const { pendingSignups, accounts } = require('../database/models');
const fetch = require('node-fetch');
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
const jwt = require('jsonwebtoken');
//auth/validation
+4 -4
View File
@@ -1,5 +1,5 @@
import React, { useState, useEffect, createContext } from 'react';
import decode from 'jwt-decode';
import { jwtDecode } from 'jwt-decode';
export const TokenContext = createContext();
@@ -31,7 +31,7 @@ const TokenProvider = props => {
let bearer = accessToken;
//if expired (10 minutes, normally)
const expired = new Date(decode(accessToken).exp) < Date.now() / 1000;
const expired = new Date(jwtDecode(accessToken).exp) < Date.now() / 1000;
if (expired) {
//BUGFIX: if logging out, just skip over the refresh token
@@ -86,7 +86,7 @@ const TokenProvider = props => {
let bearer = accessToken;
//if expired (10 minutes, normally)
const expired = new Date(decode(accessToken).exp) < Date.now() / 1000;
const expired = new Date(jwtDecode(accessToken).exp) < Date.now() / 1000;
if (expired) {
//ping the auth server for a new token
@@ -119,7 +119,7 @@ const TokenProvider = props => {
};
return (
<TokenContext.Provider value={{ accessToken, setAccessToken, tokenFetch, tokenCallback, getPayload: () => decode(accessToken) }}>
<TokenContext.Provider value={{ accessToken, setAccessToken, tokenFetch, tokenCallback, getPayload: () => jwtDecode(accessToken) }}>
{props.children}
</TokenContext.Provider>
)