certd/packages/ui/Dockerfile

41 lines
1.3 KiB
Docker
Raw Normal View History

2024-09-07 03:34:10 +00:00
FROM node:18-alpine AS builder
2024-07-20 11:38:15 +00:00
EXPOSE 7001
WORKDIR /workspace/
2024-07-20 19:21:51 +00:00
COPY . /workspace/
2024-09-07 03:44:52 +00:00
# armv7 目前只能用node18 pnpm9不支持node18,所以pnpm只能用8.15.7版本
# https://github.com/nodejs/docker-node/issues/1946
2024-09-07 03:34:10 +00:00
RUN npm install -g pnpm@8.15.7
2024-07-20 11:38:15 +00:00
2024-07-26 14:01:42 +00:00
#RUN cd /workspace/certd-client && pnpm install && npm run build
RUN cp /workspace/certd-client/dist/* /workspace/certd-server/public/ -rf
2024-09-09 09:35:10 +00:00
RUN cd /workspace/certd-server && pnpm install && npm run build-on-docker
2024-07-20 11:38:15 +00:00
2024-09-07 03:34:10 +00:00
FROM node:18-alpine
2024-09-05 06:33:45 +00:00
RUN apk add --no-cache openssl
2024-11-02 13:23:42 +00:00
RUN apk add --no-cache openjdk8
2024-07-20 11:38:15 +00:00
WORKDIR /app/
COPY --from=builder /workspace/certd-server/ /app/
2024-11-04 05:32:02 +00:00
ENV LEGO_VERSION=4.19.2
ENV LEGO_DOWNLOAD_DIR /app/tools/linux
RUN mkdir -p $LEGO_DOWNLOAD_DIR
# 根据架构下载不同的文件
RUN ARCH=$(uname -m) && \
if [ "$ARCH" = "x86_64" ]; then \
wget -O $LEGO_DOWNLOAD_DIR/lego_linux_amd64.tar.gz https://github.com/go-acme/lego/releases/download/v${LEGO_VERSION}/lego_v${LEGO_VERSION}_linux_arm64.tar.gz; \
elif [ "$ARCH" = "aarch64" ]; then \
wget -O $LEGO_DOWNLOAD_DIR/lego_linux_arm64.tar.gz https://github.com/go-acme/lego/releases/download/v${LEGO_VERSION}/lego_v${LEGO_VERSION}_linux_amd64.tar.gz; \
else \
echo "Unsupported architecture: $ARCH"; \
fi
2024-10-30 08:12:08 +00:00
2024-07-23 15:16:55 +00:00
ENV TZ=Asia/Shanghai
ENV NODE_ENV=production
ENV MIDWAY_SERVER_ENV=production
2024-07-20 11:38:15 +00:00
CMD ["npm", "run","start"]