mirror of
https://github.com/plankanban/planka.git
synced 2025-07-18 20:59:44 +02:00
build: Improve Docker dev setup, add nodemon config (#1145)
* Updated the base image in `Dockerfile.dev` from `node:18-alpine` to `node:lts-alpine` to use more or less the same as for production docker build (where the client is build lts and server is 18... so yeah not really...) * Removed the `USER node` directive, to prevent permission issues as we hook the whole folder into the container. * Modified the `docker-compose-dev.yml` file to enhance the database healthcheck. The new healthcheck ensures not only postgres is ready but also the database is ready by running a sample query (`SELECT 1`) and adjusts the interval, retries, and start period for better reliability. * Added a `nodemon.json` configuration file to watch only relevant files (node_modules would be ignored but not files like the python venv) and avoid rapid successive restarts with the delay.
This commit is contained in:
parent
86cfd155f2
commit
f9d3e73651
3 changed files with 24 additions and 5 deletions
|
@ -1,8 +1,7 @@
|
||||||
FROM node:18-alpine
|
FROM node:lts-alpine
|
||||||
|
|
||||||
RUN apk -U upgrade \
|
RUN apk -U upgrade \
|
||||||
&& apk add bash build-base python3 xdg-utils --no-cache \
|
&& apk add bash build-base python3 xdg-utils --no-cache \
|
||||||
&& npm install npm --global
|
&& npm install npm --global
|
||||||
|
|
||||||
USER node
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
|
@ -109,10 +109,15 @@ services:
|
||||||
- POSTGRES_DB=planka
|
- POSTGRES_DB=planka
|
||||||
- POSTGRES_HOST_AUTH_METHOD=trust
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
|
test:
|
||||||
interval: 10s
|
[
|
||||||
|
"CMD-SHELL",
|
||||||
|
"pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-planka} && psql -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-planka} -c 'SELECT 1'",
|
||||||
|
]
|
||||||
|
interval: 3s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 15
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db-data:
|
db-data:
|
||||||
|
|
15
server/nodemon.json
Normal file
15
server/nodemon.json
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"watch": [
|
||||||
|
"api/**/*.js",
|
||||||
|
"config/**/*.js",
|
||||||
|
"db/**/*.js",
|
||||||
|
"utils/**/*.js",
|
||||||
|
"app.js",
|
||||||
|
"constants.js"
|
||||||
|
],
|
||||||
|
"ignore": ["node_modules", ".tmp", ".venv"],
|
||||||
|
"ext": "js,json",
|
||||||
|
"verbose": true,
|
||||||
|
"delay": 1000,
|
||||||
|
"legacyWatch": false
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue