chore(docker): runtime env defaults, healthcheck, ignore review artifacts
This commit is contained in:
parent
11a18a367c
commit
668f90bcc0
|
|
@ -27,3 +27,8 @@ AGENTS.md
|
||||||
DESIGN.md
|
DESIGN.md
|
||||||
README.md
|
README.md
|
||||||
.prettierrc
|
.prettierrc
|
||||||
|
|
||||||
|
# 会话/审查产物
|
||||||
|
.superpowers
|
||||||
|
.docs
|
||||||
|
docs/superpowers
|
||||||
|
|
|
||||||
11
Dockerfile
11
Dockerfile
|
|
@ -55,7 +55,14 @@ ENV NODE_ENV=production \
|
||||||
HOSTNAME=0.0.0.0 \
|
HOSTNAME=0.0.0.0 \
|
||||||
PORT=4321 \
|
PORT=4321 \
|
||||||
# file: 库与 session 的可写位置(/app 属主为 root,node 用户不可写)
|
# file: 库与 session 的可写位置(/app 属主为 root,node 用户不可写)
|
||||||
TMPDIR=/tmp
|
TMPDIR=/tmp \
|
||||||
|
# 默认本地 sqlite;生产可 -e TURSO_DATABASE_URL=libsql://... 覆盖
|
||||||
|
TURSO_DATABASE_URL=file:/app/data/local.db \
|
||||||
|
# 挂载凭据加密(64 hex):运行时必须 -e MEDIA_SECRET_KEY=...
|
||||||
|
MEDIA_SECRET_KEY= \
|
||||||
|
# 可选:开放弹幕 AppId/Secret、Bangumi/Open API 地址见 .env.example
|
||||||
|
OPEN_DANMAKU_APP_ID= \
|
||||||
|
OPEN_DANMAKU_APP_SECRET=
|
||||||
|
|
||||||
COPY --from=build --chown=node:node /app/package.json /app/yarn.lock /app/.yarnrc.yml ./
|
COPY --from=build --chown=node:node /app/package.json /app/yarn.lock /app/.yarnrc.yml ./
|
||||||
COPY --from=build --chown=node:node /app/app/web/package.json app/web/package.json
|
COPY --from=build --chown=node:node /app/app/web/package.json app/web/package.json
|
||||||
|
|
@ -68,4 +75,6 @@ RUN mkdir -p /app/data && chown node:node /app/data
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
EXPOSE 4321
|
EXPOSE 4321
|
||||||
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
|
||||||
|
CMD wget -q -O /dev/null "http://127.0.0.1:4321/" || exit 1
|
||||||
CMD ["node", "app/web/dist/server/entry.mjs"]
|
CMD ["node", "app/web/dist/server/entry.mjs"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue