Compare commits
4 Commits
8bc6658e57
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d8d8154fda | |||
| 02ca6a3072 | |||
| 00ed4b0d1f | |||
| e35c52b97b |
@ -19,4 +19,4 @@ jobs:
|
|||||||
uses: dokku/github-action@master
|
uses: dokku/github-action@master
|
||||||
with:
|
with:
|
||||||
git_remote_url: 'ssh://dokku@192.168.1.2:22/$REPO_NAME'
|
git_remote_url: 'ssh://dokku@192.168.1.2:22/$REPO_NAME'
|
||||||
ssh_private_key: ${{ secrets.DOKKU_DEPLOY_KEY }}
|
ssh_private_key: $${{ secrets.DOKKU_DEPLOY_KEY }}
|
||||||
28
Dockerfile
28
Dockerfile
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/png" href="/src/assets/img/L10n.png" />
|
<link rel="icon" type="image/png" href="/src/assets/img/L10n.png" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>$REPO_NAME</title>
|
<title>$REPO_NAME_TITLE</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
37
client/package-lock.json
generated
37
client/package-lock.json
generated
@ -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",
|
||||||
|
|||||||
@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user