Skip to content

Commit a801eed

Browse files
committed
feat: 更新Dockerfile以支持新的构建流程并添加docker-package脚本
1 parent 609c7ed commit a801eed

File tree

4 files changed

+43
-10
lines changed

4 files changed

+43
-10
lines changed

Dockerfile

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
1-
FROM node:20-slim AS base
1+
FROM node:20-slim AS build
2+
23
ENV PNPM_HOME="/pnpm"
34
ENV PATH="$PNPM_HOME:$PATH"
5+
46
RUN corepack disable && npm install -g pnpm@latest
57

6-
FROM base AS build
7-
COPY . /usr/src/app
8-
WORKDIR /usr/src/app
8+
COPY . /app
9+
WORKDIR /app
10+
911
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
1012
RUN pnpm run build:local
11-
RUN pnpm deploy --filter @chatgpt-telegram-workers/local --prod /prod/local
1213

13-
FROM base AS prod
14-
COPY --from=build /prod/local /prod/local
15-
WORKDIR /prod/local
14+
FROM node:20-slim AS prod
15+
16+
WORKDIR /app
17+
18+
COPY --from=build /app/packages/apps/local/dist/index.js /app/dist/index.js
19+
COPY --from=build /app/packages/apps/local/package-docker.json /app/package.json
20+
21+
RUN npm install
1622
EXPOSE 8787
17-
CMD [ "pnpm", "start:dist" ]
23+
24+
CMD ["node", "/app/dist/index.js"]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "@chatgpt-telegram-workers/local",
3+
"type": "module",
4+
"version": "1.10.3",
5+
"main": "./dist/index.js",
6+
"types": "./dist/index.d.ts",
7+
"dependencies": {
8+
"cloudflare-worker-adapter": "^1.3.9",
9+
"telegramify-markdown": "^1.2.2"
10+
}
11+
}

packages/apps/local/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",
77
"scripts": {
8-
"build": "pnpm vite build",
8+
"build": "pnpm vite build && pnpm tsx scripts/docker-package.ts",
99
"start": "pnpm tsx src/index.ts",
1010
"start:dist": "node dist/index.js",
1111
"clean": "rm -rf dist && rm -rf node_modules"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import * as fs from 'node:fs/promises';
2+
3+
async function main() {
4+
const packageJson = JSON.parse(await fs.readFile('package.json', 'utf-8'));
5+
delete packageJson.scripts;
6+
delete packageJson.devDependencies;
7+
for (const key in packageJson.dependencies) {
8+
if (key.startsWith('@chatgpt-telegram-workers/')) {
9+
delete packageJson.dependencies[key];
10+
}
11+
}
12+
await fs.writeFile('package-docker.json', JSON.stringify(packageJson, null, 2));
13+
}
14+
15+
main().catch(console.error);

0 commit comments

Comments
 (0)