diff --git a/.gitea/workflows/latex.yml b/.gitea/workflows/latex.yml new file mode 100644 index 0000000..abef63d --- /dev/null +++ b/.gitea/workflows/latex.yml @@ -0,0 +1,66 @@ +name: latex image + +on: + push: + schedule: + - cron: '0 2 * * 0' # 02:00 sáng Chủ nhật (UTC) + workflow_dispatch: # Cho phép chạy tay nếu cần + +env: + IMAGE_BASE: git.thuanle.me/public/base + IMAGE: latex + +jobs: + build: + strategy: + matrix: + arch: + - arm64 + - amd64 + runs-on: ${{ matrix.arch }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: git.thuanle.me + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build Docker images + run: | + echo "Building image ${{ env.IMAGE }} for architecture: ${{ matrix.arch }}" + + docker build \ + -f ${{ env.IMAGE }}.Dockerfile \ + -t ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-${{ matrix.arch }}-latest \ + --label "build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \ + --label "commit_sha=${{ github.sha }}" \ + . + + docker push ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-${{ matrix.arch }}-latest + + amend-manifest: + runs-on: linux + needs: [build] + steps: + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: git.thuanle.me + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Push Docker manifest + run: | + echo "Delete existing manifest" + docker manifest rm ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-latest || true + + echo "Create new manifest" + docker manifest create ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-latest \ + ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-amd64-latest \ + ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-arm64-latest + + docker manifest push ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-latest diff --git a/README.md b/README.md index 6d25a2d..8640960 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,15 @@ Kho lưu trữ này cung cấp các Docker base image cho nhiều mục đích s - **git** - **python v3.11** +- **latex** + - `git.thuanle.me/public/base:latex-latest` + - Dockerfile: [latex.Dockerfile](latex.Dockerfile) + - Các gói/phần mềm đã cài đặt: + - **TexLive** (latest) + - Hỗ trợ tiếng Việt: `vntex`, `vietnam`, `ucs` + - Font & Extra: `collection-fontsrecommended`, `collection-latexextra` + - Tool: `latexmk` + ## Update - Repo được update hàng tuần. \ No newline at end of file diff --git a/latex.Dockerfile b/latex.Dockerfile new file mode 100644 index 0000000..a9afbdc --- /dev/null +++ b/latex.Dockerfile @@ -0,0 +1,11 @@ +FROM texlive/texlive:latest + +RUN tlmgr update --self && \ + tlmgr install \ + ucs \ + vntex \ + vietnam \ + collection-fontsrecommended \ + collection-latexextra \ + latexmk && \ + tlmgr path add