diff --git a/.forgejo/workflows/backport.yml b/.forgejo/workflows/backport.yml
index 4eb276f76b..32a93edbc0 100644
--- a/.forgejo/workflows/backport.yml
+++ b/.forgejo/workflows/backport.yml
@@ -38,7 +38,7 @@ jobs:
       )
     runs-on: docker
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - name: event info
         run: |
diff --git a/.forgejo/workflows/e2e.yml b/.forgejo/workflows/e2e.yml
index eec82953bc..3cf3d86413 100644
--- a/.forgejo/workflows/e2e.yml
+++ b/.forgejo/workflows/e2e.yml
@@ -14,7 +14,7 @@ jobs:
     if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
     runs-on: docker
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - uses: https://code.forgejo.org/actions/checkout@v4
       - uses: https://code.forgejo.org/actions/setup-go@v4
diff --git a/.forgejo/workflows/mirror.yml b/.forgejo/workflows/mirror.yml
index 7c22918822..fd222115ac 100644
--- a/.forgejo/workflows/mirror.yml
+++ b/.forgejo/workflows/mirror.yml
@@ -11,7 +11,7 @@ jobs:
     if: ${{ secrets.MIRROR_TOKEN != '' }}
     runs-on: docker
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - name: git push {v*/,}forgejo
         run: |
diff --git a/.forgejo/workflows/release-notes-assistant-milestones.yml b/.forgejo/workflows/release-notes-assistant-milestones.yml
index 6b1497657b..fb7bba1d52 100644
--- a/.forgejo/workflows/release-notes-assistant-milestones.yml
+++ b/.forgejo/workflows/release-notes-assistant-milestones.yml
@@ -9,7 +9,7 @@ jobs:
     if: ${{ !startsWith(vars.ROLE, 'forgejo-')
     runs-on: docker
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - uses: https://code.forgejo.org/actions/checkout@v3
 
diff --git a/.forgejo/workflows/release-notes-assistant.yml b/.forgejo/workflows/release-notes-assistant.yml
index 0dc3f12ee1..dd67b4e203 100644
--- a/.forgejo/workflows/release-notes-assistant.yml
+++ b/.forgejo/workflows/release-notes-assistant.yml
@@ -10,7 +10,7 @@ jobs:
     if: ${{ !startsWith(vars.ROLE, 'forgejo-') && contains(github.event.pull_request.labels.*.name, 'worth a release-note') }}
     runs-on: docker
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - uses: https://code.forgejo.org/actions/checkout@v3
 
diff --git a/.forgejo/workflows/testing.yml b/.forgejo/workflows/testing.yml
index 13d01011e3..c4c3766c08 100644
--- a/.forgejo/workflows/testing.yml
+++ b/.forgejo/workflows/testing.yml
@@ -12,7 +12,7 @@ jobs:
     if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
     runs-on: docker
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - name: event info
         run: |
@@ -29,7 +29,7 @@ jobs:
     if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
     runs-on: docker
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - uses: https://code.forgejo.org/actions/checkout@v3
       - run: make deps-frontend
@@ -42,7 +42,7 @@ jobs:
     runs-on: docker
     needs: [backend-checks, frontend-checks]
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     services:
       elasticsearch:
         image: elasticsearch:7.17.22
@@ -96,7 +96,7 @@ jobs:
     runs-on: docker
     needs: [backend-checks, frontend-checks]
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     strategy:
       matrix:
         cacher:
@@ -151,7 +151,7 @@ jobs:
     runs-on: docker
     needs: [backend-checks, frontend-checks]
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     services:
       mysql:
         image: 'docker.io/mysql:8-debian'
@@ -197,7 +197,7 @@ jobs:
     runs-on: docker
     needs: [backend-checks, frontend-checks]
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     services:
       minio:
         image: bitnami/minio:2024.3.30
@@ -248,7 +248,7 @@ jobs:
     runs-on: docker
     needs: [backend-checks, frontend-checks]
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - uses: https://code.forgejo.org/actions/checkout@v3
       - uses: https://code.forgejo.org/actions/setup-go@v4
@@ -291,7 +291,7 @@ jobs:
       - test-remote-cacher
       - test-unit
     container:
-      image: 'docker.io/node:20-bookworm'
+      image: 'code.forgejo.org/oci/node:20-bookworm'
     steps:
       - uses: https://code.forgejo.org/actions/checkout@v3
       - uses: https://code.forgejo.org/actions/setup-go@v4