This commit is contained in:
2026-04-28 22:04:24 +08:00
parent 80ee99e564
commit 71c940ab46
156 changed files with 5700 additions and 304 deletions

34
Dockerfile Normal file
View File

@@ -0,0 +1,34 @@
# ---- Build web frontend ----
FROM node:22-alpine AS web-build
WORKDIR /web
COPY web/package.json web/package-lock.json ./
RUN npm ci
COPY web/ .
RUN npm run build
# ---- Build server ----
FROM node:22-alpine AS server-build
WORKDIR /app
COPY server/package.json server/package-lock.json ./
RUN npm ci
COPY server/tsconfig.json ./
COPY server/src/ src/
RUN npm run build
# ---- Production ----
FROM node:22-alpine
RUN apk add --no-cache python3 make g++
WORKDIR /app
COPY server/package.json server/package-lock.json ./
RUN npm ci --omit=dev
COPY --from=server-build /app/dist dist/
COPY --from=web-build /web/dist public/
VOLUME /app/data
ENV PORT=3000
EXPOSE 3000
CMD ["node", "dist/index.js"]