diff --git a/.github/workflows/docker_build_push.yml b/.github/workflows/docker_build_push.yml new file mode 100644 index 0000000..3233b97 --- /dev/null +++ b/.github/workflows/docker_build_push.yml @@ -0,0 +1,68 @@ +name: Build and Push Docker Image + +on: + push: + tags: + - 'v*' + +jobs: + build_and_push: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v2 + with: + context: . + push: true + tags: haibbo/cf-openai-azure-proxy:${{ github.ref_name }} + - name: Build and push Docker image + uses: docker/build-push-action@v2 + with: + context: . + push: true + tags: | + haibbo/cf-openai-azure-proxy:${{ github.ref_name }} + haibbo/cf-openai-azure-proxy:latest + platforms: linux/amd64,linux/arm64/v8 + - name: Create GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.ACTIONS_RELEASE_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + body: | + Release notes for ${{ github.ref }} + + ```sh + docker run -d -p 8787:8787 -t cf-azure-openai-proxy \ + --env RESOURCE_NAME=codegpt \ + --env DEPLOY_NAME=gpt3 \ + haibbo/cf-openai-azure-proxy:latest + ``` + + + Docker image is available at: + - `haibbo/cf-openai-azure-proxy:${{ github.ref_name }}` + - `haibbo/cf-openai-azure-proxy:latest` + + Enjoy! + draft: false + prerelease: false + + + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..31f77ce --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:18.12-slim + +WORKDIR /app + +# 安装 Cloudflare Workers CLI 工具 +RUN npm install -g wrangler@2.15.0 + +ENV WRANGLER_SEND_METRICS=false + +# 复制 Workers 脚本到镜像 +COPY cf-openai-azure-proxy.js . + +# 启动本地开发服务器 +CMD wrangler dev cf-openai-azure-proxy.js --local --var RESOURCE_NAME:$RESOURCE_NAME DEPLOY_NAME:$DEPLOY_NAME