mirror of
https://github.com/plankanban/planka.git
synced 2025-07-18 20:59:44 +02:00
Add start script for Docker image, pre-commit lint check, package.json scripts cleanup
This commit is contained in:
parent
5e17a4880a
commit
e0dee1efef
11 changed files with 1236 additions and 11 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
|||
node_modules
|
||||
|
||||
.vscode
|
||||
.DS_Store
|
||||
|
|
11
Dockerfile
11
Dockerfile
|
@ -3,8 +3,8 @@ FROM node:alpine AS server-builder
|
|||
WORKDIR /app
|
||||
|
||||
RUN apk add vips-dev fftw-dev build-base python --no-cache \
|
||||
--repository https://alpine.global.ssl.fastly.net/alpine/v3.10/community/ \
|
||||
--repository https://alpine.global.ssl.fastly.net/alpine/v3.10/main/
|
||||
--repository https://alpine.global.ssl.fastly.net/alpine/v3.10/community/ \
|
||||
--repository https://alpine.global.ssl.fastly.net/alpine/v3.10/main/
|
||||
|
||||
COPY server/package.json server/package-lock.json ./
|
||||
|
||||
|
@ -25,7 +25,7 @@ RUN npm run build
|
|||
FROM node:alpine
|
||||
|
||||
RUN apk add bash vips --no-cache \
|
||||
--repository https://alpine.global.ssl.fastly.net/alpine/v3.10/community/
|
||||
--repository https://alpine.global.ssl.fastly.net/alpine/v3.10/community/
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
@ -33,6 +33,9 @@ COPY --from=server-builder /app/node_modules node_modules
|
|||
COPY server .
|
||||
COPY --from=client-builder /app/build public
|
||||
COPY --from=client-builder /app/build/index.html views
|
||||
COPY docker-start.sh start.sh
|
||||
|
||||
RUN chmod +x start.sh
|
||||
|
||||
ENV BASE_URL DATABASE_URL
|
||||
|
||||
|
@ -41,4 +44,4 @@ VOLUME /app/public/attachments
|
|||
|
||||
EXPOSE 1337
|
||||
|
||||
CMD ["npm", "start"]
|
||||
CMD ["./start.sh"]
|
||||
|
|
|
@ -51,6 +51,12 @@ Demo user: demo@demo.demo demo
|
|||
git clone https://github.com/plankanban/planka.git
|
||||
```
|
||||
|
||||
Root folder:
|
||||
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
Server folder:
|
||||
|
||||
```
|
||||
|
@ -61,7 +67,7 @@ npm install
|
|||
npm run db:migrate
|
||||
npm run db:seed
|
||||
|
||||
npm run start:dev
|
||||
npm run start
|
||||
```
|
||||
|
||||
Client folder:
|
||||
|
|
|
@ -6,7 +6,7 @@ services:
|
|||
command: >
|
||||
bash -c
|
||||
"for i in `seq 1 30`; do
|
||||
npm start &&
|
||||
./start.sh &&
|
||||
s=$$? && break || s=$$?;
|
||||
echo \"Tried $$i times. Waiting 5 seconds...\";
|
||||
sleep 5;
|
||||
|
|
4
docker-start.sh
Executable file
4
docker-start.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
node db/init.js \
|
||||
&& node app.js --prod $@
|
1184
package-lock.json
generated
Normal file
1184
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
19
package.json
19
package.json
|
@ -8,5 +8,22 @@
|
|||
"url": "https://github.com/plankanban/planka.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": "Maksim Eltyshev"
|
||||
"author": "Maksim Eltyshev",
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"client/**/*.{js,jsx}": [
|
||||
"npm run lint --prefix client"
|
||||
],
|
||||
"server/**/*.js": [
|
||||
"npm run lint --prefix server"
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"husky": "^4.2.5",
|
||||
"lint-staged": "^10.1.7"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,11 @@ module.exports = {
|
|||
},
|
||||
|
||||
async fn(inputs, exits) {
|
||||
// TODO: allow over HTTP without subscription
|
||||
if (!this.req.isSocket) {
|
||||
return this.res.badRequest();
|
||||
}
|
||||
|
||||
const project = await Project.findOne(inputs.projectId);
|
||||
|
||||
if (!project) {
|
||||
|
@ -38,6 +43,8 @@ module.exports = {
|
|||
|
||||
const board = await sails.helpers.createBoard(project, values, this.req);
|
||||
|
||||
sails.sockets.join(this.req, `board:${board.id}`); // TODO: only when subscription needed
|
||||
|
||||
return exits.success({
|
||||
item: board,
|
||||
included: {
|
||||
|
|
|
@ -46,7 +46,6 @@ module.exports = {
|
|||
values: {
|
||||
coverAttachmentId: attachment.id,
|
||||
},
|
||||
request: inputs.request,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,10 @@ module.exports = {
|
|||
connection: process.env.DATABASE_URL,
|
||||
migrations: {
|
||||
tableName: 'migration',
|
||||
directory: path.join(__dirname, 'migrations'),
|
||||
},
|
||||
seeds: {
|
||||
directory: path.join(__dirname, 'seeds'),
|
||||
},
|
||||
wrapIdentifier: (value, origImpl) => origImpl(_.snakeCase(value)),
|
||||
};
|
||||
|
|
|
@ -5,12 +5,11 @@
|
|||
"scripts": {
|
||||
"console": "dotenv sails console",
|
||||
"custom-tests": "echo \"(No other custom tests yet.)\" && echo",
|
||||
"db:init": "cd db && node init.js",
|
||||
"db:migrate": "knex migrate:latest --cwd db",
|
||||
"db:seed": "knex seed:run --cwd db",
|
||||
"lint": "eslint . --max-warnings=0 --report-unused-disable-directives && echo '✔ Your .js files look good.'",
|
||||
"start": "npm run db:init && NODE_ENV=production node app.js",
|
||||
"start:dev": "nodemon",
|
||||
"start": "nodemon",
|
||||
"start:prod": "node app.js --prod",
|
||||
"test": "npm run lint && npm run custom-tests && echo 'Done.'"
|
||||
},
|
||||
"eslintConfig": {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue