Skip to content

Commit

Permalink
feat: add dockerfile (#91)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhiyudangchu authored Feb 5, 2025
1 parent c2a954f commit cc46d0f
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
51 changes: 51 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
FROM node:20 AS builder

ENV WORKSPACE_DIR=/workspace
ENV EXTENSION_DIR=/extensions
ENV NODE_ENV=production
ENV WS_PATH=ws://localhost:8000

RUN mkdir -p ${WORKSPACE_DIR} &&\
mkdir -p ${EXTENSION_DIR}

RUN apt-get update && apt-get install -y libsecret-1-dev

RUN npm config set registry https://registry.npmmirror.com

# 设置工作目录
WORKDIR /build

COPY . /build

# 清理全局安装的包并安装 yarn
RUN npm cache clean --force && \
rm -rf /usr/local/lib/node_modules/yarn* && \
rm -rf /usr/local/bin/yarn* && \
npm install -g yarn

# 配置yarn为国内源
RUN yarn config set npmRegistryServer https://registry.npmmirror.com

# 安装依赖$构建项目
RUN yarn install && \
yarn run build-web && \
yarn run web-rebuild

FROM node:20 AS app

ENV WORKSPACE_DIR=/workspace
ENV EXTENSION_DIR=/root/.sumi/extensions

RUN mkdir -p ${WORKSPACE_DIR} &&\
mkdir -p ${EXTENSION_DIR} &&\
mkdir -p /extensions

# 设置工作目录
WORKDIR /release

COPY --from=builder /build/out /release/out
COPY --from=builder /build/node_modules /release/node_modules

EXPOSE 8000

CMD [ "node", "./out/node/index.js"]

0 comments on commit cc46d0f

Please sign in to comment.