# Missing node in ubunbu FULL images

**URL:** <https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412>\
**Category:** Actions\
**Created:** [September 10, 2026, 5:49pm UTC](https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412 "2026-09-10T17:49:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ELY3M](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.gitea.com/ely3m/32/7529_2.png) [@ELY3M](https://forum.gitea.com/u/ELY3M)\
**Post date:** [September 10, 2026, 5:49pm UTC](https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412/1 "2026-09-10T17:49:24Z")

</div>

I did searched and I even used the ubuntu full images

I am getting this error with any images.

> **Run actions/checkout@v4**
>
> with:
> 
> persist-credentials: false
> 
> OCI runtime exec failed: exec failed: unable to start container process: exec: “node”: executable file not found in $PATH

Error: Process completed with exit code 127.

I registered the runner with this command.

./gitea-runner register --no-interactive --instance [https://xxxxxxxxx.com](https://xxxxxxxxx.com) --token e9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmWc --name ubuntu-latest --labels ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:full-24.04

I made the container with this command.

```auto
docker run \
    -v /home/git/gitea/config.yaml:/config.yaml \
    -v /home/git/gitea/data:/data \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e CONFIG_FILE=/home/git/gitea/config.yaml \
    -e GITEA_INSTANCE_URL=https://xxxxxxxxxxxxxxxx.com \
    -e GITEA_RUNNER_REGISTRATION_TOKEN=exxxxxxxxxxxxxxxxc \
    -e GITEA_RUNNER_NAME=ubuntu-latest \
    -e GITEA_RUNNER_LABELS=ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:full-24.04 \
    --name ubuntu-latest \
    -d gitea/act_runner:latest

```

in my config.yaml

I have this

labels:

- “ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:full-24.04”

---

<div class="post-metadata">

**Author:** ![nite\_route](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.gitea.com/nite_route/32/7522_2.png) [@nite\_route](https://forum.gitea.com/u/nite_route)\
**Post date:** [September 10, 2026, 6:19pm UTC](https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412/2 "2026-09-10T18:19:07Z")

</div>

checkout is a JS action, so the \*job\* container needs `node` on PATH. installing node inside the act\_runner container itself does not fix that.

a few things that bite people with your setup:

- make sure the label in `.runner` / `config.yaml` is really the one the workflow `runs-on` uses. register flags and a later config edit can drift

- try the official images instead of raw catthehacker tags, e.g. `ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest` (or the `-full` variant if you need the fat image)

- your `CONFIG_FILE=/home/git/gitea/config.yaml` looks off if you only mounted the file at `/config.yaml`. point `CONFIG_FILE` at the path that exists \*inside\* the runner container

quick check from the host:

`docker run --rm [Package ubuntu · GitHub](http://ghcr.io/catthehacker/ubuntu:full-24.04) bash -lc ‘which node; echo $PATH’`

if node is only under `/opt/acttoolcache/…` and not on PATH for the runner’s exec, that matches the OCI “node not found” error. switching to the gitea runner-images labels usually clears it.

---

<div class="post-metadata">

**Author:** ![ELY3M](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.gitea.com/ely3m/32/7529_2.png) [@ELY3M](https://forum.gitea.com/u/ELY3M)\
**Post date:** [September 11, 2026, 12:36am UTC](https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412/3 "2026-09-11T00:36:37Z")

</div>

I changed to the gitea image one… still getting node not found…

here is git home dir

`git@103:~/gitea$ ls -la`  
`total 141412`  
`drwxrwxr-x 5 git git 4096 Sep 10 18:56 .`  
`drwxr-x--- 6 git git 4096 Sep 10 10:40 ..`  
`-rw-rw-r-- 1 git git 507 Sep 10 18:57 .runner`  
`-rw------- 1 git git 0 Sep 10 18:56 .runner.lock`  
`-rw-rw-r-- 1 git git 17949 Sep 10 18:53 config.yaml`  
`drwxrwxr-x 3 git git 4096 Sep 9 03:00 custom`  
`drwxrwxr-x 17 git git 4096 Sep 10 18:55 data`  
`-rw-rw-r-- 1 git git 506 Sep 10 18:11 docker.sh`  
`-rwxrwxr-x 1 git git 126007248 Aug 29 12:41 gitea`  
`-rwxrwxr-x 1 git git 18735264 Sep 9 14:36 gitea-runner`  
`drwxrwxr-x 2 git git 4096 Sep 9 02:59 log`  
`-rwxrwxr-x 1 git git 212 Sep 10 17:43 runner-register.sh`  
`git@103:~/gitea$`

script to create docker container

```auto
git@103:~/gitea$
git@103:~/gitea$
git@103:~/gitea$ cat docker.sh
docker run \
    -v /home/git/gitea/config.yaml:/config.yaml \
    -v /home/git/gitea/data:/data \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e CONFIG_FILE=/config.yaml \
    -e GITEA_INSTANCE_URL=https://xxxxxxxxxxxxxxxxxxxxx.com \
    -e GITEA_RUNNER_REGISTRATION_TOKEN=exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWc \
    -e GITEA_RUNNER_NAME=ubuntu-latest \
    -e GITEA_RUNNER_LABELS=ubuntu-latest:docker://gitea/runner-images:ubuntu-latest \
    --name ubuntu-latest \
    -d gitea/act_runner:latest

git@103:~/gitea$

```

script to register runner  
git@103:~/gitea$  
git@103:~/gitea$ cat runner-register.sh  
./gitea-runner register --no-interactive --instance [https://xxxxxxxxxxxxcom](https://xxxxxxxxxxxxcom) --token exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWc --name ubuntu-latest --labels ubuntu-latest:docker://gitea/runner-images:ubuntu-latest  
git@103:~/gitea$  
git@103:~/gitea$  
git@103:~/gitea$

content of .runner

`git@103:~/gitea$ cat .runner`  
`{`  
`"WARNING": "This file is automatically generated by Gitea Runner. Do not edit it manually unless you know what you are doing. Removing this file will cause Gitea Runner to re-register as a new runner.",`  
`"id": 23,`  
`"uuid": "59bb8dfaxxxxxxxxxxxxxxa2f422caa6",`  
`"name": "ubuntu-latest",`  
`"token": "2axxxxxxxxxxxxxxxxxxxx25",`  
`"address": "``https://xxxxxxxxxxxxxxxxxxxx.com``",`  
`"labels": [`  
`"ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"`  
`],`  
`"ephemeral": false`  
`}`  
`git@103:~/gitea$`

I have different token in .runner for some reason

```auto

git@103:~/gitea$ docker image ls
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
devkitpro/devkita64:latest 1fc388c3a0d3 2.79GB 705MB
gitea/act_runner:latest b5c35d6bdbb9 68.6MB 19.8MB U
gitea/runner-images:ubuntu-latest fd911d7417bf 2.31GB 578MB
git@103:~/gitea$
git@103:~/gitea$
git@103:~/gitea$

```

`git@103:~/gitea$`  
`git@103:~/gitea$ docker container ls`  
`CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES`  
`808c9dbc58c8 gitea/act_runner:latest "/sbin/tini -- run.sh" 40 minutes ago Up 40 minutes ubuntu-latest`  
`git@103:~/gitea$`  
`git@103:~/gitea$`

---

<div class="post-metadata">

**Author:** ![ELY3M](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.gitea.com/ely3m/32/7529_2.png) [@ELY3M](https://forum.gitea.com/u/ELY3M)\
**Post date:** [September 11, 2026, 3:12am UTC](https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412/4 "2026-09-11T03:12:55Z")

</div>

I think I know why… I was trying to use different container in the action…

This action failed!!! with missing node…

```auto
name: Build Nro

on:
  push:
  pull_request:
  workflow_dispatch:
  workflow_call:

permissions: write-all

jobs:
  build:
    name: Test build
    runs-on: ubuntu-latest
    container:
      image: 'devkitpro/devkita64'
      ##image: 'ghcr.io/irneracoonovich/devkita64'

    steps:
      - uses: actions/checkout@v4
        with:
          persist-credentials: false

      - name: build
        run: make -j2

      - name: test
        run: ls -la
        
      - name: Publish GitHub release
        uses: softprops/action-gh-release@v2
        with:
          tag_name: ${{ github.run_number }}
          prerelease: false
          draft: false
          body: ${{ github.event.head_commit.message }}
          files: Clock-for-switch.nro
          name: "Switch Release #${{ github.run_number }}"

```

This action did worked!

```auto
name: Build Bin

on:
  push:
  pull_request:
  workflow_dispatch:
  workflow_call:

permissions: write-all

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v7
        with:
          persist-credentials: false

      - name: build
        run: g++ main.cpp -o asciiclock

      - name: test
        run: ls -la
        
      - name: Publish GitHub release
        uses: softprops/action-gh-release@v2
        with:
          tag_name: ${{ github.run_number }}
          prerelease: false
          draft: false
          body: ${{ github.event.head_commit.message }}
          files: asciiclock
          name: "Bin Release #${{ github.run_number }}"

```

---

<div class="post-metadata">

**Author:** ![ELY3M](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.gitea.com/ely3m/32/7529_2.png) [@ELY3M](https://forum.gitea.com/u/ELY3M)\
**Post date:** [September 11, 2026, 10:56pm UTC](https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412/5 "2026-09-11T22:56:31Z")

</div>

my sitaution is create custom devkitpro docker image.

> **[Google Search](https://www.google.com/share.google?q=QLL8GYCuxXuNYuJ7l)**

---

<div class="post-metadata">

**Author:** ![ELY3M](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.gitea.com/ely3m/32/7529_2.png) [@ELY3M](https://forum.gitea.com/u/ELY3M)\
**Post date:** [September 11, 2026, 11:32pm UTC](https://forum.gitea.com/t/missing-node-in-ubunbu-full-images/12412/6 "2026-09-11T23:32:01Z")

</div>

The situation above worked!

 ![image](https://us1.discourse-cdn.com/flex020/uploads/gitea/original/2X/e/e1c7c0bed7549f7a6efc6235360c05e5b5140cd3.png)
