From 668f90bcc0a8bf945f226edbd2ea7a32f0dde176 Mon Sep 17 00:00:00 2001 From: noelorin Date: Sat, 26 Sep 2026 02:58:47 +0800 Subject: [PATCH] chore(docker): runtime env defaults, healthcheck, ignore review artifacts --- .dockerignore | 5 +++++ Dockerfile | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index 82fc346..ba073a9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -27,3 +27,8 @@ AGENTS.md DESIGN.md README.md .prettierrc + +# 会话/审查产物 +.superpowers +.docs +docs/superpowers diff --git a/Dockerfile b/Dockerfile index 96f01a1..b08391c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,7 +55,14 @@ ENV NODE_ENV=production \ HOSTNAME=0.0.0.0 \ PORT=4321 \ # 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/app/web/package.json app/web/package.json @@ -68,4 +75,6 @@ RUN mkdir -p /app/data && chown node:node /app/data USER node 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"]