diff --git a/.forgejo/workflows/bake.yml b/.forgejo/workflows/bake.yml
new file mode 100644
index 0000000..60611ba
--- /dev/null
+++ b/.forgejo/workflows/bake.yml
@@ -0,0 +1,55 @@
+on:
+  push:
+    branches:
+      - 'ci-test'
+    tags:
+      - 'v*'
+    paths:
+      - '**.go'
+      - '**.html'
+      - 'Dockerfile'
+      - 'Dockerfile.*'
+      - 'docker-bake.hcl'
+      - '.forgejo/workflows/*.yml'
+  workflow_dispatch:
+
+jobs:
+  bake:
+    runs-on: docker
+    steps:
+      - name: Prepare Registry FQDN
+        id: registry
+        run: |
+          registry=${{ github.server_url }}
+          registry=${registry##http*://}
+          echo "registry=${registry}" >> "$GITHUB_OUTPUT"
+
+      - name: Login to Container Registry
+        uses: https://code.forgejo.org/docker/login-action@v3
+        with:
+          registry: ${{ steps.registry.outputs.registry }}
+          username: ${{ github.repository_owner }}
+          password: ${{ secrets.TOKEN }}
+
+      - name: Checkout
+        uses: https://code.forgejo.org/actions/checkout@v4
+
+      - name: Set up Docker Buildx
+        uses: https://code.forgejo.org/docker/setup-buildx-action@v3
+
+      - name: Extract metadata
+        id: meta
+        uses: https://code.forgejo.org/docker/metadata-action@v5
+        with:
+          tags: |
+            type=ref,event=branch
+            type=semver,pattern={{version}}
+            type=semver,pattern={{major}}.{{minor}}
+            type=semver,pattern={{major}}
+
+      - name: Build and push
+        uses: https://code.forgejo.org/docker/bake-action@v6
+        with:
+          source: .
+        env:
+          TAG: ${{ steps.meta.outputs.tags }}
diff --git a/docker-bake.hcl b/docker-bake.hcl
index e18ac8c..0af347b 100644
--- a/docker-bake.hcl
+++ b/docker-bake.hcl
@@ -8,8 +8,8 @@ variable "TAG" {
 function "generate_tags" {
   params = [images, versions]
   result = distinct(flatten(
-    [for i in split(",", images) :
-      [for v in split(",", versions) :
+    [for i in split(",", replace(images, "\n", ",")) :
+      [for v in split(",", replace(versions, "\n", ",")) :
         "${i}:${v}"
       ]
     ]))