diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..f27cf068c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,18 @@ +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 +# github acions +.github/ +.*ignore +.git/ +# User-specific stuff +.idea/ +# Byte-compiled / optimized / DLL files +__pycache__/ +# Environments +.env +.venv +env/ +venv*/ +ENV/ +.conda/ +README*.md diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 1828268bf..e374cfde8 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -4,20 +4,39 @@ on: release: types: [published] workflow_dispatch: + jobs: - publish-latest-docker-image: + publish-docker: runs-on: ubuntu-latest - name: Build and publish docker image steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Build image - run: | - git clone https://github.com/Soulter/AstrBot - cd AstrBot - docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/astrbot:latest . - - name: Publish image - run: | - docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} -p ${{ secrets.DOCKER_HUB_PASSWORD }} - docker push ${{ secrets.DOCKER_HUB_USERNAME }}/astrbot:latest + - name: 拉取源码 + uses: actions/checkout@v3 + with: + fetch-depth: 1 + + - name: 设置 QEMU + uses: docker/setup-qemu-action@v3 + + - name: 设置 Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: 登录到 DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + + - name: 构建和推送 Docker hub + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ secrets.DOCKER_HUB_USERNAME }}/astrbot:latest + ${{ secrets.DOCKER_HUB_USERNAME }}/astrbot:${{ github.event.release.tag_name }} + + - name: Post build notifications + run: echo "Docker image has been built and pushed successfully" + diff --git a/Dockerfile b/Dockerfile index 93c0a2914..9e027f258 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,4 +5,7 @@ COPY . /AstrBot/ RUN python -m pip install -r requirements.txt +EXPOSE 6185 +EXPOSE 6186 + CMD [ "python", "main.py" ]