diff --git a/.forgejo/workflows/docker-master.yaml b/.forgejo/workflows/docker-master.yaml
new file mode 100644
index 0000000..f731b84
--- /dev/null
+++ b/.forgejo/workflows/docker-master.yaml
@@ -0,0 +1,23 @@
+on:
+  push:
+    branches:
+      - 'master'
+jobs:
+  docker-master:
+    runs-on: docker
+    container:
+      image: git.van-hemmen.com/actions/kaniko:25.21.1
+    steps:
+      - name: Build & push with Kaniko
+        run: /bin/build.sh
+        env:
+          # --- mandatory --------------------------------------------------------
+          KANIKO_CONTEXT: git://git.van-hemmen.com/GuillaumeHemmen/sonar-scanner.git
+          GIT_REF_NAME:    ${{ github.ref_name }}
+          GIT_USERNAME:    ${{ secrets.docker_username }}
+          GIT_PASSWORD:    ${{ secrets.access_token }}
+
+          # --- optional (only needed when you plan to push) ---------------------
+          REGISTRY_USER:   ${{ secrets.docker_username }}
+          REGISTRY_PASS:   ${{ secrets.access_token }}
+          KANIKO_DESTINATION: git.van-hemmen.com/guillaumehemmen/sonar-scanner:${GITHUB_SHA},git.van-hemmen.com/guillaumehemmen/sonar-scanner:latest
diff --git a/.forgejo/workflows/docker-tag.yaml b/.forgejo/workflows/docker-tag.yaml
new file mode 100644
index 0000000..dadf1db
--- /dev/null
+++ b/.forgejo/workflows/docker-tag.yaml
@@ -0,0 +1,23 @@
+on:
+  push:
+    tags:
+      - '*'
+jobs:
+  docker-tag:
+    runs-on: docker
+    container:
+      image: git.van-hemmen.com/actions/kaniko:25.21.1
+    steps:
+      - name: Build & push with Kaniko
+        run: /bin/build.sh
+        env:
+          # --- mandatory --------------------------------------------------------
+          KANIKO_CONTEXT: git://git.van-hemmen.com/GuillaumeHemmen/sonar-scanner.git
+          GIT_REF_NAME:    ${{ github.ref_name }}
+          GIT_USERNAME:    ${{ secrets.docker_username }}
+          GIT_PASSWORD:    ${{ secrets.access_token }}
+
+          # --- optional (only needed when you plan to push) ---------------------
+          REGISTRY_USER:   ${{ secrets.docker_username }}
+          REGISTRY_PASS:   ${{ secrets.access_token }}
+          KANIKO_DESTINATION: git.van-hemmen.com/guillaumehemmen/sonar-scanner:${GITHUB_REF_NAME},git.van-hemmen.com/guillaumehemmen/sonar-scanner:latest
diff --git a/.woodpecker.yml b/.woodpecker.yml
index 7a84db2..f921bb6 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -1,14 +1,14 @@
-pipeline:
+steps:
   env-info:
     image: ubuntu:latest
     commands:
       - printenv
 
   docker-master:
-    image: plugins/docker
+    image: woodpeckerci/plugin-docker-buildx
     settings:
       repo: git.van-hemmen.com/guillaumehemmen/sonar-scanner
-      tags: latest,${CI_COMMIT}
+      tags: latest,${CI_COMMIT_SHA}
       registry: git.van-hemmen.com
       username:
         from_secret: docker_username
@@ -17,13 +17,14 @@ pipeline:
     when:
       event:
         - push
+        - manual
       branch: 'master'
 
   docker-tag:
-    image: plugins/docker
+    image: woodpeckerci/plugin-docker-buildx
     settings:
       repo: git.van-hemmen.com/guillaumehemmen/sonar-scanner
-      tags: latest
+      tags: latest,${CI_COMMIT_TAG}
       registry: git.van-hemmen.com
       username:
         from_secret: docker_username
@@ -32,4 +33,3 @@ pipeline:
     when:
       event:
         - tag
-      branch: 'master'
diff --git a/Dockerfile b/Dockerfile
index 67d0a74..c3ba1ec 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,10 +1,11 @@
-FROM node:16
+FROM node:22
 
 LABEL maintainer="guillaume@van-hemmen.com"
 
 RUN apt-get update && \
     apt-get -y install wget unzip && \
     cd /root/ && \
-    wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.8.0.2856-linux.zip && \
-    unzip sonar-scanner-cli-4.8.0.2856-linux.zip && \
-    ln -sf /root/sonar-scanner-4.8.0.2856-linux/bin/sonar-scanner /usr/local/bin/sonar-scanner
+    wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-7.1.0.4889-linux-x64.zip && \
+    unzip sonar-scanner-cli-7.1.0.4889-linux-x64.zip && \
+    ln -sf /root/sonar-scanner-7.1.0.4889-linux-x64/bin/sonar-scanner /usr/local/bin/sonar-scanner && \
+    /usr/local/bin/sonar-scanner --version