mirror of
https://github.com/imsyy/DailyHotApi.git
synced 2026-01-12 05:04:56 +08:00
🦄 refactor: Refactoring using hono
This commit is contained in:
41
Dockerfile
41
Dockerfile
@@ -1,10 +1,41 @@
|
||||
FROM node:18-alpine
|
||||
FROM node:20-alpine AS base
|
||||
|
||||
FROM base AS builder
|
||||
|
||||
RUN apk add --no-cache libc6-compat
|
||||
RUN npm install -g pnpm
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm install --production
|
||||
COPY package*json tsconfig.json pnpm-lock.yaml .env ./
|
||||
COPY src ./src
|
||||
COPY public ./public
|
||||
|
||||
COPY . .
|
||||
RUN pnpm install && \
|
||||
pnpm build && \
|
||||
pnpm prune --production
|
||||
|
||||
FROM base AS runner
|
||||
WORKDIR /app
|
||||
|
||||
# 创建用户和组
|
||||
RUN addgroup --system --gid 114514 nodejs
|
||||
RUN adduser --system --uid 114514 hono
|
||||
|
||||
# 创建日志目录
|
||||
RUN mkdir -p /app/logs && chown -R hono:nodejs /app/logs
|
||||
|
||||
# 复制文件
|
||||
COPY --from=builder --chown=hono:nodejs /app/node_modules /app/node_modules
|
||||
COPY --from=builder --chown=hono:nodejs /app/dist /app/dist
|
||||
COPY --from=builder /app/public /app/public
|
||||
COPY --from=builder /app/.env /app/.env
|
||||
COPY --from=builder /app/package.json /app/package.json
|
||||
|
||||
# 切换用户
|
||||
USER hono
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 6688
|
||||
CMD ["npm", "start"]
|
||||
|
||||
# 运行
|
||||
CMD ["node", "/app/dist/index.js"]
|
||||
Reference in New Issue
Block a user