Compare commits

...

3 commits

Author SHA1 Message Date
Jamie Scott
37bc6d6963
Merge 92170540c6 into d451e06e84 2025-01-05 22:58:33 -06:00
Louis Lam
d451e06e84 Update dependencies
Some checks failed
Node.js CI - Dockge / ci (22, ARM) (push) Has been cancelled
Node.js CI - Dockge / ci (22, ARM64) (push) Has been cancelled
Node.js CI - Dockge / ci (22, macos-latest) (push) Has been cancelled
Node.js CI - Dockge / ci (22, ubuntu-latest) (push) Has been cancelled
Node.js CI - Dockge / ci (22, windows-latest) (push) Has been cancelled
json-yaml-validate / json-yaml-validate (push) Has been cancelled
2025-01-04 18:14:17 +08:00
Jamie Scott
92170540c6 Build frontend during docker build 2024-10-12 13:28:23 +01:00
5 changed files with 270 additions and 174 deletions

View file

@ -9,9 +9,9 @@ tmp
# Docker extra # Docker extra
docker docker
frontend
.editorconfig .editorconfig
.eslintrc.cjs .eslintrc.cjs
.git .git
.gitignore .gitignore
README.md .github
*.md

View file

@ -1,6 +1,9 @@
services: services:
dockge: dockge:
image: louislam/dockge:1 image: louislam/dockge:1
build:
context: .
dockerfile: docker/Dockerfile
restart: unless-stopped restart: unless-stopped
ports: ports:
# Host Port : Container Port # Host Port : Container Port

View file

@ -4,9 +4,19 @@
FROM louislam/dockge:build-healthcheck AS build_healthcheck FROM louislam/dockge:build-healthcheck AS build_healthcheck
############################################ ############################################
# Build # Build frontend
############################################ ############################################
FROM louislam/dockge:base AS build FROM louislam/dockge:base AS build_frontend
WORKDIR /app
COPY --chown=node:node . .
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
pnpm install && \
pnpm run build:frontend
############################################
# Install node modules
############################################
FROM louislam/dockge:base AS build_nodemodules
WORKDIR /app WORKDIR /app
COPY --chown=node:node ./package.json ./package.json COPY --chown=node:node ./package.json ./package.json
COPY --chown=node:node ./pnpm-lock.yaml ./pnpm-lock.yaml COPY --chown=node:node ./pnpm-lock.yaml ./pnpm-lock.yaml
@ -18,8 +28,9 @@ RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-l
FROM louislam/dockge:base AS release FROM louislam/dockge:base AS release
WORKDIR /app WORKDIR /app
COPY --chown=node:node --from=build_healthcheck /app/extra/healthcheck /app/extra/healthcheck COPY --chown=node:node --from=build_healthcheck /app/extra/healthcheck /app/extra/healthcheck
COPY --from=build /app/node_modules /app/node_modules COPY --from=build_frontend /app/frontend-dist /app/frontend-dist
COPY --chown=node:node . . COPY --from=build_nodemodules /app/node_modules /app/node_modules
COPY --chown=node:node . .
RUN mkdir ./data RUN mkdir ./data

View file

@ -40,7 +40,7 @@
"dotenv": "~16.3.2", "dotenv": "~16.3.2",
"express": "~4.21.2", "express": "~4.21.2",
"express-static-gzip": "~2.1.8", "express-static-gzip": "~2.1.8",
"http-graceful-shutdown": "~3.1.13", "http-graceful-shutdown": "~3.1.14",
"jsonwebtoken": "~9.0.2", "jsonwebtoken": "~9.0.2",
"jwt-decode": "~3.1.2", "jwt-decode": "~3.1.2",
"knex": "~2.5.1", "knex": "~2.5.1",
@ -49,8 +49,8 @@
"promisify-child-process": "~4.1.2", "promisify-child-process": "~4.1.2",
"redbean-node": "~0.3.3", "redbean-node": "~0.3.3",
"semver": "^7.6.3", "semver": "^7.6.3",
"socket.io": "~4.8.0", "socket.io": "~4.8.1",
"socket.io-client": "~4.8.0", "socket.io-client": "~4.8.1",
"timezones-list": "~3.0.3", "timezones-list": "~3.0.3",
"ts-command-line-args": "~2.5.1", "ts-command-line-args": "~2.5.1",
"tsx": "~4.19.2", "tsx": "~4.19.2",
@ -59,7 +59,7 @@
}, },
"devDependencies": { "devDependencies": {
"@actions/github": "^6.0.0", "@actions/github": "^6.0.0",
"@fontsource/jetbrains-mono": "^5.1.1", "@fontsource/jetbrains-mono": "^5.1.2",
"@fortawesome/fontawesome-svg-core": "6.4.2", "@fortawesome/fontawesome-svg-core": "6.4.2",
"@fortawesome/free-regular-svg-icons": "6.4.2", "@fortawesome/free-regular-svg-icons": "6.4.2",
"@fortawesome/free-solid-svg-icons": "6.4.2", "@fortawesome/free-solid-svg-icons": "6.4.2",
@ -81,19 +81,19 @@
"cross-env": "~7.0.3", "cross-env": "~7.0.3",
"eslint": "~8.50.0", "eslint": "~8.50.0",
"eslint-plugin-jsdoc": "~46.8.2", "eslint-plugin-jsdoc": "~46.8.2",
"eslint-plugin-vue": "~9.17.0", "eslint-plugin-vue": "~9.32.0",
"prismjs": "~1.29.0", "prismjs": "~1.29.0",
"sass": "~1.68.0", "sass": "~1.68.0",
"typescript": "~5.2.2", "typescript": "~5.2.2",
"unplugin-vue-components": "~0.25.2", "unplugin-vue-components": "~0.25.2",
"vite": "~5.4.8", "vite": "~5.4.11",
"vite-plugin-compression": "~0.5.1", "vite-plugin-compression": "~0.5.1",
"vue": "~3.5.12", "vue": "~3.5.13",
"vue-eslint-parser": "~9.3.2", "vue-eslint-parser": "~9.3.2",
"vue-i18n": "~9.5.0", "vue-i18n": "~10.0.5",
"vue-prism-editor": "2.0.0-alpha.2", "vue-prism-editor": "2.0.0-alpha.2",
"vue-qrcode": "~2.2.2", "vue-qrcode": "~2.2.2",
"vue-router": "~4.2.5", "vue-router": "~4.5.0",
"vue-toastification": "2.0.0-rc.5", "vue-toastification": "2.0.0-rc.5",
"wait-on": "^7.2.0", "wait-on": "^7.2.0",
"xterm-addon-web-links": "~0.9.0" "xterm-addon-web-links": "~0.9.0"

400
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff