mirror of
https://github.com/plankanban/planka.git
synced 2025-07-18 20:59:44 +02:00
fix: Improve building
This commit is contained in:
parent
0266e4bfe2
commit
db4e5a89f9
4 changed files with 47 additions and 25 deletions
|
@ -1,11 +1,29 @@
|
||||||
*/node_modules
|
|
||||||
*/.gitignore
|
|
||||||
*/README.md
|
*/README.md
|
||||||
|
*/.gitignore
|
||||||
|
*/node_modules
|
||||||
|
|
||||||
**/.DS_Store
|
**/.DS_Store
|
||||||
**/.gitkeep
|
|
||||||
|
server/**/.gitkeep
|
||||||
|
|
||||||
|
server/.env
|
||||||
|
server/.editorconfig
|
||||||
|
server/.eslintignore
|
||||||
|
server/.npmrc
|
||||||
|
server/test
|
||||||
|
server/logs
|
||||||
|
server/.tmp
|
||||||
|
|
||||||
|
server/views/*
|
||||||
|
|
||||||
server/public/*
|
server/public/*
|
||||||
server/views/*
|
!server/public/user-avatars
|
||||||
server/logs
|
server/public/user-avatars/*
|
||||||
|
!server/public/project-background-images
|
||||||
|
server/public/project-background-images/*
|
||||||
|
|
||||||
|
server/private/*
|
||||||
|
!server/private/attachments
|
||||||
|
server/private/attachments/*
|
||||||
|
|
||||||
client/build
|
client/build
|
||||||
|
|
34
Dockerfile
34
Dockerfile
|
@ -1,32 +1,40 @@
|
||||||
FROM node:lts AS client-builder
|
FROM ghcr.io/plankanban/planka:base-latest as server-dependencies
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY client/package.json client/package-lock.json ./
|
COPY server/package.json server/package-lock.json .
|
||||||
|
|
||||||
RUN npm install npm@latest --global \
|
RUN npm install npm@latest --global \
|
||||||
&& npm install
|
&& npm clean-install --omit=development
|
||||||
|
|
||||||
|
FROM node:lts AS client
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY client/package.json client/package-lock.json .
|
||||||
|
|
||||||
|
RUN npm install npm@latest --global \
|
||||||
|
&& npm clean-install --omit=development
|
||||||
|
|
||||||
COPY client .
|
COPY client .
|
||||||
RUN DISABLE_ESLINT_PLUGIN=true npm run build
|
RUN DISABLE_ESLINT_PLUGIN=true npm run build
|
||||||
|
|
||||||
FROM ghcr.io/plankanban/planka:base-latest
|
FROM ghcr.io/plankanban/planka:base-latest
|
||||||
|
|
||||||
|
RUN apk del vips-dependencies --purge
|
||||||
|
|
||||||
|
USER node
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY server/.npmrc server/package.json server/package-lock.json ./
|
COPY --chown=node:node docker-start.sh start.sh
|
||||||
|
COPY --chown=node:node server .
|
||||||
|
|
||||||
RUN npm install npm@latest --global \
|
RUN mv .env.sample .env
|
||||||
&& npm install --production \
|
|
||||||
&& apk del vips-dependencies --purge
|
|
||||||
|
|
||||||
COPY docker-start.sh start.sh
|
COPY --from=server-dependencies --chown=node:node /app/node_modules node_modules
|
||||||
COPY server .
|
|
||||||
|
|
||||||
RUN cp .env.sample .env
|
COPY --from=client --chown=node:node /app/build public
|
||||||
|
COPY --from=client --chown=node:node /app/build/index.html views/index.ejs
|
||||||
COPY --from=client-builder /app/build public
|
|
||||||
COPY --from=client-builder /app/build/index.html views/index.ejs
|
|
||||||
|
|
||||||
VOLUME /app/public/user-avatars
|
VOLUME /app/public/user-avatars
|
||||||
VOLUME /app/public/project-background-images
|
VOLUME /app/public/project-background-images
|
||||||
|
|
8
client/package-lock.json
generated
8
client/package-lock.json
generated
|
@ -22,6 +22,7 @@
|
||||||
"photoswipe": "^5.3.3",
|
"photoswipe": "^5.3.3",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
|
"react-app-rewired": "^2.2.1",
|
||||||
"react-beautiful-dnd": "^13.1.1",
|
"react-beautiful-dnd": "^13.1.1",
|
||||||
"react-datepicker": "^4.8.0",
|
"react-datepicker": "^4.8.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
|
@ -63,7 +64,6 @@
|
||||||
"eslint-plugin-jsx-a11y": "^6.6.1",
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
||||||
"eslint-plugin-react": "^7.31.11",
|
"eslint-plugin-react": "^7.31.11",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"react-app-rewired": "^2.2.1",
|
|
||||||
"react-test-renderer": "^18.2.0"
|
"react-test-renderer": "^18.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18972,7 +18972,6 @@
|
||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz",
|
||||||
"integrity": "sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==",
|
"integrity": "sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": "^5.6.0"
|
"semver": "^5.6.0"
|
||||||
},
|
},
|
||||||
|
@ -18987,7 +18986,6 @@
|
||||||
"version": "5.7.1",
|
"version": "5.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||||
"dev": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver"
|
"semver": "bin/semver"
|
||||||
}
|
}
|
||||||
|
@ -37164,7 +37162,6 @@
|
||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz",
|
||||||
"integrity": "sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==",
|
"integrity": "sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"semver": "^5.6.0"
|
"semver": "^5.6.0"
|
||||||
},
|
},
|
||||||
|
@ -37172,8 +37169,7 @@
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
|
||||||
"dev": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -69,6 +69,7 @@
|
||||||
"photoswipe": "^5.3.3",
|
"photoswipe": "^5.3.3",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
|
"react-app-rewired": "^2.2.1",
|
||||||
"react-beautiful-dnd": "^13.1.1",
|
"react-beautiful-dnd": "^13.1.1",
|
||||||
"react-datepicker": "^4.8.0",
|
"react-datepicker": "^4.8.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
|
@ -110,7 +111,6 @@
|
||||||
"eslint-plugin-jsx-a11y": "^6.6.1",
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
||||||
"eslint-plugin-react": "^7.31.11",
|
"eslint-plugin-react": "^7.31.11",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"react-app-rewired": "^2.2.1",
|
|
||||||
"react-test-renderer": "^18.2.0"
|
"react-test-renderer": "^18.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue