Compare commits

...

2 Commits

3 changed files with 2260 additions and 2228 deletions

View File

@ -1,19 +1,13 @@
# Use official Node.js image # Use official Node.js image
FROM node:24 LABEL authors="Ari Yeger"
### Client Stage ### Client Stage
FROM node:24 AS client-build
# Set working directory
WORKDIR /app
# create client directory
RUN mkdir client
# Set the working directory for the client # Set the working directory for the client
WORKDIR /app/client WORKDIR /app/client
# Copy package files and install dependencies # Copy package files and install dependencies
COPY /client/package*.json ./ COPY /client/package*.json ./
RUN npm install RUN npm ci
# Copy server source code # Copy server source code
COPY /client . COPY /client .
@ -22,13 +16,7 @@ COPY /client .
RUN npm run build RUN npm run build
### Server Stage ### Server Stage
FROM node:24 AS server-build
# Set working directory
WORKDIR /app
# create server directory
RUN mkdir server
# Set the working directory for the server # Set the working directory for the server
WORKDIR /app/server WORKDIR /app/server
@ -42,7 +30,13 @@ COPY /server .
# no build step for server, its already JavaScript # no build step for server, its already JavaScript
# Production stage # Production stage
FROM node:24-slim FROM node:24-slim AS production
WORKDIR /app
# Copy built client files from client-build stage
COPY --from=client-build /app/client/dist ./client/dist
# Copy server files from server-build stage
COPY --from=server-build /app/server ./server
WORKDIR /app/server
# Expose the port your server runs on (change if needed) # Expose the port your server runs on (change if needed)
EXPOSE 8000 EXPOSE 8000

View File

@ -16,6 +16,7 @@
"devDependencies": { "devDependencies": {
"@types/node": "^24.0.10", "@types/node": "^24.0.10",
"@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue": "^6.0.0",
"@volar/typescript": "2.4.23",
"@vue/tsconfig": "^0.7.0", "@vue/tsconfig": "^0.7.0",
"bootstrap": "^5.3.3", "bootstrap": "^5.3.3",
"npm-run-all2": "^7.0.2", "npm-run-all2": "^7.0.2",
@ -1162,6 +1163,35 @@
"vue": "^3.2.25" "vue": "^3.2.25"
} }
}, },
"node_modules/@volar/language-core": {
"version": "2.4.23",
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.23.tgz",
"integrity": "sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@volar/source-map": "2.4.23"
}
},
"node_modules/@volar/source-map": {
"version": "2.4.23",
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.23.tgz",
"integrity": "sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==",
"dev": true,
"license": "MIT"
},
"node_modules/@volar/typescript": {
"version": "2.4.23",
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.23.tgz",
"integrity": "sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==",
"dev": true,
"license": "MIT",
"dependencies": {
"@volar/language-core": "2.4.23",
"path-browserify": "^1.0.1",
"vscode-uri": "^3.0.8"
}
},
"node_modules/@vue/compiler-core": { "node_modules/@vue/compiler-core": {
"version": "3.5.17", "version": "3.5.17",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz",
@ -2131,6 +2161,13 @@
} }
} }
}, },
"node_modules/vscode-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz",
"integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==",
"dev": true,
"license": "MIT"
},
"node_modules/vue": { "node_modules/vue": {
"version": "3.5.17", "version": "3.5.17",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.17.tgz", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.17.tgz",

View File

@ -25,6 +25,7 @@
"@types/node": "^24.0.10", "@types/node": "^24.0.10",
"@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue": "^6.0.0",
"@vue/tsconfig": "^0.7.0", "@vue/tsconfig": "^0.7.0",
"@volar/typescript": "2.4.23",
"bootstrap": "^5.3.3", "bootstrap": "^5.3.3",
"npm-run-all2": "^7.0.2", "npm-run-all2": "^7.0.2",
"sass": "^1.89.2", "sass": "^1.89.2",