mirror of
https://github.com/certd/certd.git
synced 2025-11-25 09:10:11 +08:00
- 更新插件配置格式,增加依赖库和插件类型字段 - 修改插件安装流程,支持安装依赖插件和第三方库 - 优化插件列表过滤逻辑,按类型筛选插件 - 调整 Dockerfile,使用 Node.js22 镜像并更新 pnpm 安装方式
43 lines
1.4 KiB
Docker
43 lines
1.4 KiB
Docker
FROM node:22-alpine AS builder
|
||
WORKDIR /workspace/
|
||
COPY . /workspace/
|
||
# armv7 目前只能用node18, pnpm9不支持node18,所以pnpm只能用8.15.7版本
|
||
# https://github.com/nodejs/docker-node/issues/1946
|
||
RUN npm install -g pnpm
|
||
|
||
#RUN cd /workspace/certd-client && pnpm install && npm run build
|
||
RUN cp /workspace/certd-client/dist/* /workspace/certd-server/public/ -rf
|
||
RUN cd /workspace/certd-server && pnpm install && npm run build-on-docker
|
||
|
||
|
||
FROM node:22-alpine
|
||
EXPOSE 7001
|
||
EXPOSE 7002
|
||
RUN apk add --no-cache openssl
|
||
RUN apk add --no-cache openjdk8
|
||
WORKDIR /app/
|
||
COPY --from=builder /workspace/certd-server/ /app/
|
||
|
||
ENV LEGO_VERSION 4.22.2
|
||
ENV LEGO_DOWNLOAD_DIR /app/tools/lego
|
||
RUN mkdir -p $LEGO_DOWNLOAD_DIR
|
||
|
||
# 根据架构下载不同的文件
|
||
RUN ARCH=$(uname -m) && \
|
||
if [ "$ARCH" = "x86_64" ]; then \
|
||
wget -O $LEGO_DOWNLOAD_DIR/lego_v${LEGO_VERSION}_linux_amd64.tar.gz https://github.com/go-acme/lego/releases/download/v${LEGO_VERSION}/lego_v${LEGO_VERSION}_linux_amd64.tar.gz; \
|
||
elif [ "$ARCH" = "aarch64" ]; then \
|
||
wget -O $LEGO_DOWNLOAD_DIR/lego_v${LEGO_VERSION}_linux_arm64.tar.gz https://github.com/go-acme/lego/releases/download/v${LEGO_VERSION}/lego_v${LEGO_VERSION}_linux_arm64.tar.gz; \
|
||
else \
|
||
echo "Unsupported architecture: $ARCH"; \
|
||
fi
|
||
|
||
ENV TZ Asia/Shanghai
|
||
ENV NODE_ENV production
|
||
ENV MIDWAY_SERVER_ENV production
|
||
CMD ["npm", "run","start"]
|
||
|
||
|
||
|
||
|