diff --git a/.github/workflows/dockerToHub-dev.yml b/.github/workflows/dockerToHub-dev.yml index 9980020f0..cb145cb63 100644 --- a/.github/workflows/dockerToHub-dev.yml +++ b/.github/workflows/dockerToHub-dev.yml @@ -39,7 +39,7 @@ jobs: - name: Check out the repo uses: actions/checkout@v3 with: - clean: true + clean: false ref: 'dev' - name: Set up SSH key uses: webfactory/ssh-agent@v0.8.0 diff --git a/.github/workflows/dockerToHub.yml b/.github/workflows/dockerToHub.yml index d83f00a22..1864d0cfb 100644 --- a/.github/workflows/dockerToHub.yml +++ b/.github/workflows/dockerToHub.yml @@ -22,7 +22,7 @@ jobs: - name: Check out the repo uses: actions/checkout@v3 with: - clean: true + clean: false - name: build and deploy to Docker Hub run: | echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin diff --git a/Dockerfile b/Dockerfile index 45892c8f7..f679db32a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ #FROM registry.cn-hangzhou.aliyuncs.com/sijinhui/node:18-alpine AS base -FROM node:18-alpine AS base +FROM node:20-alpine AS base RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories RUN apk update && apk add --no-cache git tzdata # 设置时区环境变量 @@ -7,52 +7,53 @@ ENV TZ=Asia/Chongqing # 更新并安装时区工具 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone -FROM base AS deps -RUN apk add --no-cache libc6-compat g++ make - -WORKDIR /app - -COPY package.json ./ - -RUN yarn config set registry 'https://registry.npmmirror.com/' -RUN yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp" -RUN yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips" -RUN # 清理遗留的缓存 -RUN yarn cache clean -RUN yarn install - -# 避免下面那个报错 -RUN mkdir -p "/app/node_modules/tiktoken" - -FROM base AS builder - -ENV OPENAI_API_KEY="" -ENV GOOGLE_API_KEY="" -ENV CODE="" - -WORKDIR /app -COPY . . -COPY --from=deps /app/node_modules ./node_modules - -RUN yarn build - +#FROM base AS deps +#RUN apk add --no-cache libc6-compat g++ make +# +#WORKDIR /app +# +#COPY package.json ./ +# +#RUN yarn config set registry 'https://registry.npmmirror.com/' +#RUN yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp" +#RUN yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips" +#RUN # 清理遗留的缓存 +#RUN yarn cache clean +#RUN yarn install +# +## 避免下面那个报错 +#RUN mkdir -p "/app/node_modules/tiktoken" +# +#FROM base AS builder +# +#ENV OPENAI_API_KEY="" +#ENV GOOGLE_API_KEY="" +#ENV CODE="" +# +#WORKDIR /app +#COPY . . +#COPY --from=deps /app/node_modules ./node_modules +# +#RUN yarn build +# FROM base AS runner WORKDIR /app - -RUN apk add proxychains-ng - -ENV PROXY_URL="" -ENV OPENAI_API_KEY="" -ENV GOOGLE_API_KEY="" -ENV CODE="" - -COPY --from=builder /app/public ./public -COPY --from=builder /app/.next/standalone ./ -COPY --from=builder /app/.next/static ./.next/static -COPY --from=builder /app/.next/server ./.next/server - -# 一个插件一直有问题。 -COPY --from=deps /app/node_modules/tiktoken ./node_modules/tiktoken +# +#RUN apk add proxychains-ng +# +#ENV PROXY_URL="" +#ENV OPENAI_API_KEY="" +#ENV GOOGLE_API_KEY="" +#ENV CODE="" +# +#COPY --from=builder /app/public ./public +#COPY --from=builder /app/.next/standalone ./ +#COPY --from=builder /app/.next/static ./.next/static +#COPY --from=builder /app/.next/server ./.next/server +# +## 一个插件一直有问题。 +#COPY --from=deps /app/node_modules/tiktoken ./node_modules/tiktoken +COPY out/ . RUN rm -f .env diff --git a/Dockerfile.bak b/Dockerfile.bak new file mode 100644 index 000000000..45892c8f7 --- /dev/null +++ b/Dockerfile.bak @@ -0,0 +1,82 @@ +#FROM registry.cn-hangzhou.aliyuncs.com/sijinhui/node:18-alpine AS base +FROM node:18-alpine AS base +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories +RUN apk update && apk add --no-cache git tzdata +# 设置时区环境变量 +ENV TZ=Asia/Chongqing +# 更新并安装时区工具 +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +FROM base AS deps +RUN apk add --no-cache libc6-compat g++ make + +WORKDIR /app + +COPY package.json ./ + +RUN yarn config set registry 'https://registry.npmmirror.com/' +RUN yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp" +RUN yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips" +RUN # 清理遗留的缓存 +RUN yarn cache clean +RUN yarn install + +# 避免下面那个报错 +RUN mkdir -p "/app/node_modules/tiktoken" + +FROM base AS builder + +ENV OPENAI_API_KEY="" +ENV GOOGLE_API_KEY="" +ENV CODE="" + +WORKDIR /app +COPY . . +COPY --from=deps /app/node_modules ./node_modules + +RUN yarn build + +FROM base AS runner +WORKDIR /app + +RUN apk add proxychains-ng + +ENV PROXY_URL="" +ENV OPENAI_API_KEY="" +ENV GOOGLE_API_KEY="" +ENV CODE="" + +COPY --from=builder /app/public ./public +COPY --from=builder /app/.next/standalone ./ +COPY --from=builder /app/.next/static ./.next/static +COPY --from=builder /app/.next/server ./.next/server + +# 一个插件一直有问题。 +COPY --from=deps /app/node_modules/tiktoken ./node_modules/tiktoken + +RUN rm -f .env + +EXPOSE 3000 +ENV KEEP_ALIVE_TIMEOUT=30 +ENV HOSTNAME="" + +CMD if [ -n "$PROXY_URL" ]; then \ + export HOSTNAME="127.0.0.1"; \ + protocol=$(echo $PROXY_URL | cut -d: -f1); \ + host=$(echo $PROXY_URL | cut -d/ -f3 | cut -d: -f1); \ + port=$(echo $PROXY_URL | cut -d: -f3); \ + conf=/etc/proxychains.conf; \ + echo "strict_chain" > $conf; \ + echo "proxy_dns" >> $conf; \ + echo "remote_dns_subnet 224" >> $conf; \ + echo "tcp_read_time_out 15000" >> $conf; \ + echo "tcp_connect_time_out 8000" >> $conf; \ + echo "localnet 127.0.0.0/255.0.0.0" >> $conf; \ + echo "localnet ::1/128" >> $conf; \ + echo "[ProxyList]" >> $conf; \ + echo "$protocol $host $port" >> $conf; \ + cat /etc/proxychains.conf; \ + proxychains -f $conf node server.js; \ + else \ + node server.js; \ + fi