diff --git a/.forgejo/workflows/build_release.yml b/.forgejo/workflows/build_release.yml
index 174e873..426ae7f 100644
--- a/.forgejo/workflows/build_release.yml
+++ b/.forgejo/workflows/build_release.yml
@@ -1,11 +1,19 @@
 on:
+  schedule: 
+    - cron: '0 0 * * 1'
   push:
-    tags:
-      - '[0-9]+\.[0-9]+\.[0-9]+'
+    branches:
+      - 'main'
+    paths:
+      - '.forgejo/workflows/*'
+      - 'Dockerfile'
 
 jobs:
   build:
     runs-on: dind
+    strategy:
+      matrix:
+        node-version: [ "20", "22", "23" ]
     steps:
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v3
@@ -19,7 +27,9 @@ jobs:
         uses: docker/build-push-action@v5
         with:
           push: true
-          tags: forgejo.neshweb.net/ci-docker-images/node-chromium:${{ github.ref_name }}, forgejo.neshweb.net/ci-docker-images/node-chromium:latest
+          build-args: |
+            NODE_VERSION=${{ matrix.node-version }}
+          tags: forgejo.neshweb.net/ci-docker-images/node-chromium:${{ matrix.node-version }}
 
   release:
     needs: [build]
diff --git a/Dockerfile b/Dockerfile
index 70b1c7b..80389e8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,6 @@
-FROM node:22-bookworm AS build
+ARG NODE_VERSION=3.12
+
+FROM node:${NODE_VERSION}-bookworm AS build
 WORKDIR /
 
 ENV CHROMIUM_VERSION="135.0.7049.84-1~deb12u1"