diff --git a/.github/workflows/docs-site-image.yml b/.github/workflows/docs-site-image.yml new file mode 100644 index 00000000000..1fbf0e69528 --- /dev/null +++ b/.github/workflows/docs-site-image.yml @@ -0,0 +1,62 @@ +name: Build and push Sealos Docs Site Docker image + +on: + workflow_dispatch: + push: + branches: ["main"] + paths: + - "docs/**" + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: true + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + # list of Docker images to use as base name for tags + images: | + ${{ secrets.DOCKER_USERNAME }}/sealos-site + ghcr.io/${{ github.repository_owner }}/sealos-site + registry.cn-hangzhou.aliyuncs.com/labring4docker/sealos-site + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Login to ghcr.io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GH_PAT }} + + - name: Login to Aliyun Hub + uses: docker/login-action@v3 + with: + registry: registry.cn-hangzhou.aliyuncs.com + username: ${{ secrets.ALI_HUB_USERNAME }} + password: ${{ secrets.ALI_HUB_PASSWORD }} + + - name: Build and push Docker images to ghcr.io and Aliyun Hub + uses: docker/build-push-action@v5 + with: + context: ./docs + file: ./docs/website/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/docs/website/Dockerfile b/docs/website/Dockerfile new file mode 100644 index 00000000000..ab69ce90936 --- /dev/null +++ b/docs/website/Dockerfile @@ -0,0 +1,20 @@ +FROM node:20.4 AS builder + +WORKDIR /app + +COPY . /app + +RUN mkdir website/i18n/zh-Hans/docusaurus-plugin-content-docs/; \ + cp -r 4.0/i18n/zh-Hans/ website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/; \ + cp 4.0/i18n/zh-Hans/current.json website/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json; \ + cp 4.0/code.json website/i18n/zh-Hans/code.json + +WORKDIR /app/website + +RUN yarn install + +RUN yarn run build + +FROM fholzer/nginx-brotli:latest + +COPY --from=builder /app/website/build /usr/share/nginx/html \ No newline at end of file