feat: 初始化义工时长管理系统
- 管理台:活动设置、时长登记、用户管理、数据导出(Excel/PNG) - 用户端:姓名查询个人义工时长与活动记录 - 技术栈:React + Vite + TailwindCSS / Node.js + Express + sql.js (SQLite) - 支持 Docker 部署,附带 Gitea Actions 自动部署工作流 - 响应式界面,兼容移动端与 PC 端 - 默认管理员账号:admin / admin123
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
FROM node:20-alpine AS client-build
|
||||
WORKDIR /app/client
|
||||
COPY client/package.json client/package-lock.json* ./
|
||||
RUN npm install --no-audit --no-fund
|
||||
COPY client/ ./
|
||||
RUN npm run build
|
||||
|
||||
FROM node:20-alpine AS server-build
|
||||
WORKDIR /app/server
|
||||
COPY server/package.json server/package-lock.json* ./
|
||||
RUN npm install --no-audit --no-fund
|
||||
COPY server/ ./
|
||||
RUN npm run build
|
||||
|
||||
FROM node:20-alpine AS runtime
|
||||
WORKDIR /app
|
||||
ENV NODE_ENV=production
|
||||
ENV PORT=3000
|
||||
|
||||
COPY server/package.json server/package-lock.json* ./
|
||||
RUN npm install --omit=dev --no-audit --no-fund
|
||||
|
||||
COPY --from=client-build /app/client/dist ./client/dist
|
||||
COPY --from=server-build /app/server/dist ./server/dist
|
||||
COPY server/src/db/schema.sql ./server/src/db/schema.sql
|
||||
|
||||
RUN mkdir -p ./server/data
|
||||
VOLUME ["/app/server/data"]
|
||||
|
||||
EXPOSE 3000
|
||||
WORKDIR /app/server
|
||||
CMD ["node", "dist/index.js"]
|
||||
Reference in New Issue
Block a user