use pm2 to guard and monitor the web service in docker file (#2238)

This commit is contained in:
Bowen Liang 2024-01-29 18:21:15 +08:00 committed by GitHub
parent b4988ce20c
commit 965ca36525
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 12 deletions

View File

@ -40,12 +40,17 @@ ENV TZ UTC
RUN ln -s /usr/share/zoneinfo/${TZ} /etc/localtime \
&& echo ${TZ} > /etc/timezone
# global runtime packages
RUN yarn global add pm2 \
&& yarn cache clean
WORKDIR /app/web
COPY --from=builder /app/web/public ./public
COPY --from=builder /app/web/.next/standalone ./
COPY --from=builder /app/web/.next/static ./.next/static
COPY docker/pm2.json ./pm2.json
COPY docker/entrypoint.sh ./entrypoint.sh
ARG COMMIT_SHA

View File

@ -10,4 +10,4 @@ export NEXT_PUBLIC_PUBLIC_API_PREFIX=${APP_API_URL}/api
export NEXT_PUBLIC_SENTRY_DSN=${SENTRY_DSN}
export NEXT_PUBLIC_SITE_ABOUT=${SITE_ABOUT}
node ./server.js
pm2 start ./pm2.json --no-daemon

View File

@ -1,12 +1,11 @@
{
"apps": [
{
"name": "WebApp",
"exec_mode": "cluster",
"instances": 1,
"script": "./node_modules/next/dist/bin/next",
"cwd": "/app/web",
"args": "start"
}
]
}
"apps": [
{
"name": "dify-web",
"script": "/app/web/server.js",
"cwd": "/app/web",
"exec_mode": "cluster",
"instances": 2
}
]
}