diff --git a/README.md b/README.md
index 80f4f10e..da5cfb1e 100644
--- a/README.md
+++ b/README.md
@@ -389,7 +389,7 @@ This repository offers two types of docker image; `stable` and `development`. Yo
| Build | Tags |
| ------------------------- | ----------------------------------------------------------------------------- |
-| `Stable` | `🔖 tvapp2:latest`
`🔖 tvapp2:1.5.3`
`🔖 tvapp2:1.5`
`🔖 tvapp2:1` |
+| `Stable` | `🔖 tvapp2:latest`
`🔖 tvapp2:1.5.4`
`🔖 tvapp2:1.5`
`🔖 tvapp2:1` |
| `Development` | `🔖 tvapp2:development` |
@@ -434,7 +434,7 @@ If you cloned the files from the official repository [🔆 gitea:binaryninja/tva
```shell
# Change ALL files
-find ./ -type f | grep -Ev '.git|*.jpg|*.jpeg|*.png' | xargs dos2unix --
+find ./ -type f | grep -Ev 'docs|node_modules|.git|*.jpg|*.jpeg|*.png' | xargs dos2unix --
# Change run / binaries
find ./ -type f -name 'run' | xargs dos2unix --
@@ -447,7 +447,7 @@ find ./ -type f -name 'run' | xargs dos2unix --
The files contained within this repo **MUST** have `chmod 755` / `+x` executable permissions.
```shell
-find ./ -name 'run' -exec sudo chmod +x {} \;
+find ./ -name 'run' -print -exec sudo chmod +x {} \;
```
@@ -485,7 +485,7 @@ Open the `📄 Dockerfile` and ensure you are pulling the correct Alpine base im
```dockerfile
ARG ARCH=amd64
-FROM --platform=linux/${ARCH} ghcr.io/aetherinox/alpine-base:3.21
+FROM --platform=linux/${ARCH} ghcr.io/aetherinox/alpine-base:3.22
```
@@ -605,10 +605,11 @@ Creates the TVApp2 `amd64` docker image:
# Build tvapp2 amd64
docker buildx build \
--build-arg ARCH=amd64 \
- --build-arg VERSION=1.5.3 \
+ --build-arg VERSION=1.5.4 \
--build-arg BUILDDATE=20260812 \
--build-arg RELEASE=stable \
- --tag ghcr.io/thebinaryninja/tvapp2:1.5.3 \
+ --build-arg ALPINE_VERSION=3.22 \
+ --tag ghcr.io/thebinaryninja/tvapp2:1.5.4 \
--tag ghcr.io/thebinaryninja/tvapp2:1.5 \
--tag ghcr.io/thebinaryninja/tvapp2:1 \
--tag ghcr.io/thebinaryninja/tvapp2:latest \
@@ -635,10 +636,11 @@ Creates the TVApp2 `arm64` docker image:
# Build tvapp2 arm64
docker buildx build \
--build-arg ARCH=arm64 \
- --build-arg VERSION=1.5.3 \
+ --build-arg VERSION=1.5.4 \
--build-arg BUILDDATE=20260812 \
--build-arg RELEASE=stable \
- --tag ghcr.io/thebinaryninja/tvapp2:1.5.3 \
+ --build-arg ALPINE_VERSION=3.22 \
+ --tag ghcr.io/thebinaryninja/tvapp2:1.5.4 \
--tag ghcr.io/thebinaryninja/tvapp2:1.5 \
--tag ghcr.io/thebinaryninja/tvapp2:1 \
--tag ghcr.io/thebinaryninja/tvapp2:latest \
@@ -779,8 +781,8 @@ If you are building these docker images using Github workflow, you will also nee
Once the emulator is installed; we will now build two images. When building these two images; we will ensure the `--tag` value is different for each one, by adding the architecture to the end. This ensures we don't overwrite one image with the newer one. We need to have two seperate docker images with two different tags.
-- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64`
-- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64`
+- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64`
+- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64`
@@ -791,10 +793,10 @@ Once the emulator is installed; we will now build two images. When building thes
>
> | Registry | Tag |
> | --- | --- |
-> | Dockerhub | `--tag thebinaryninja/tvapp2:1.5.3-amd64`
`--tag thebinaryninja/tvapp2:1.5.3-arm64` |
-> | Github (GHCR) | `--tag ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64`
`--tag ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64` |
-> | Registry v2 | `--tag registry.domain.lan/thebinaryninja/tvapp2:1.5.3-amd64`
`--tag registry.domain.lan/thebinaryninja/tvapp2:1.5.3-arm64` |
-> | Gitea | `--tag git.binaryninja.net/binaryninja/tvapp2:1.5.3-amd64`
`--tag git.binaryninja.net/binaryninja/tvapp2:1.5.3-arm64` |
+> | Dockerhub | `--tag thebinaryninja/tvapp2:1.5.4-amd64`
`--tag thebinaryninja/tvapp2:1.5.4-arm64` |
+> | Github (GHCR) | `--tag ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64`
`--tag ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64` |
+> | Registry v2 | `--tag registry.domain.lan/thebinaryninja/tvapp2:1.5.4-amd64`
`--tag registry.domain.lan/thebinaryninja/tvapp2:1.5.4-arm64` |
+> | Gitea | `--tag git.binaryninja.net/binaryninja/tvapp2:1.5.4-amd64`
`--tag git.binaryninja.net/binaryninja/tvapp2:1.5.4-arm64` |
@@ -815,10 +817,11 @@ Creates the TVApp2 **Stable** release `amd64` docker image:
# Build Tvapp2 amd64 - (stable release)
docker buildx build \
--build-arg ARCH=amd64 \
- --build-arg VERSION=1.5.3 \
+ --build-arg VERSION=1.5.4 \
--build-arg BUILDDATE=20260812 \
--build-arg RELEASE=stable \
- --tag ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64 \
+ --build-arg ALPINE_VERSION=3.22 \
+ --tag ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64 \
--attest type=provenance,disabled=true \
--attest type=sbom,disabled=true \
--output type=docker \
@@ -843,10 +846,11 @@ Creates the TVApp2 **Stable** release `arm64` docker image:
# Build Tvapp2 arm64 - (stable release)
docker buildx build \
--build-arg ARCH=arm64 \
- --build-arg VERSION=1.5.3 \
+ --build-arg VERSION=1.5.4 \
--build-arg BUILDDATE=20260812 \
--build-arg RELEASE=stable \
- --tag ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64 \
+ --build-arg ALPINE_VERSION=3.22 \
+ --tag ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64 \
--attest type=provenance,disabled=true \
--attest type=sbom,disabled=true \
--output type=docker \
@@ -871,9 +875,10 @@ Creates the TVApp2 **Development** release `amd64` docker image:
# Build Tvapp2 amd64 - (development release)
docker buildx build \
--build-arg ARCH=amd64 \
- --build-arg VERSION=1.5.3 \
+ --build-arg VERSION=1.5.4 \
--build-arg BUILDDATE=20260812 \
--build-arg RELEASE=development \
+ --build-arg ALPINE_VERSION=3.22 \
--tag ghcr.io/thebinaryninja/tvapp2:development-amd64 \
--attest type=provenance,disabled=true \
--attest type=sbom,disabled=true \
@@ -899,9 +904,10 @@ Creates the TVApp2 **Development** release `arm64` docker image:
# Build Tvapp2 arm64 - (development release)
docker buildx build \
--build-arg ARCH=arm64 \
- --build-arg VERSION=1.5.3 \
+ --build-arg VERSION=1.5.4 \
--build-arg BUILDDATE=20260812 \
--build-arg RELEASE=development \
+ --build-arg ALPINE_VERSION=3.22 \
--tag ghcr.io/thebinaryninja/tvapp2:development-arm64 \
--attest type=provenance,disabled=true \
--attest type=sbom,disabled=true \
@@ -921,8 +927,8 @@ docker buildx build \
After completing the `docker buildx` commands above; you should now have a few new images. Each image should have its own separate docker tags which do not conflict. If you decided to not build the **development** releases below; that is fine.
-- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64`
-- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64`
+- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64`
+- `--tag ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64`
- `--tag ghcr.io/thebinaryninja/tvapp2:development-amd64`
- `--tag ghcr.io/thebinaryninja/tvapp2:development-arm64`
@@ -948,15 +954,15 @@ You can also get the hash digests by running the commands:
```shell
-$ docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64
+$ docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64
-Name: ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64
+Name: ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64
MediaType: application/vnd.docker.distribution.manifest.v2+json
Digest: sha256:0abe1b1c119959b3b1ccc23c56a7ee2c4c908c6aaef290d4ab2993859d807a3b
-$ docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64
+$ docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64
-Name: ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64
+Name: ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64
MediaType: application/vnd.docker.distribution.manifest.v2+json
Digest: sha256:e68b9de8669eac64d4e4d2a8343c56705e05e9a907cf0b542343f9b536d9c473
```
@@ -1003,14 +1009,14 @@ Digest: sha256:c719ccb034946e3f0625003f25026d001768794e38a1ba8aafc9146291d548
> ```shell
> $ docker images --all --no-trunc | grep thebinaryninja
>
-> ghcr.io/thebinaryninja/tvapp2 1.5.3-arm64 sha256:48520ca15fed6483d2d5b79993126c311f833002345b0e12b8eceb5bf9def966 42 minutes ago 46MB
+> ghcr.io/thebinaryninja/tvapp2 1.5.4-arm64 sha256:48520ca15fed6483d2d5b79993126c311f833002345b0e12b8eceb5bf9def966 42 minutes ago 46MB
>
-> ghcr.io/thebinaryninja/tvapp2 1.5.3-amd64 sha256:54a9b7d390199532d5667fae67120d77e2f459bd6108b27ce94e0cfec8f3c41f 43 minutes ago 45MB
+> ghcr.io/thebinaryninja/tvapp2 1.5.4-amd64 sha256:54a9b7d390199532d5667fae67120d77e2f459bd6108b27ce94e0cfec8f3c41f 43 minutes ago 45MB
> ```
>
> To get the correct sha256 digest, use:
-> - `docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64`
-> - `docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64`
+> - `docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64`
+> - `docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64`
> - `docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:development-amd64`
> - `docker buildx imagetools inspect ghcr.io/thebinaryninja/tvapp2:development-arm64`
>
@@ -1030,7 +1036,7 @@ For the **stable** releases, use:
# #
docker buildx imagetools create \
- --tag ghcr.io/thebinaryninja/tvapp2:1.5.3 \
+ --tag ghcr.io/thebinaryninja/tvapp2:1.5.4 \
--tag ghcr.io/thebinaryninja/tvapp2:1.5 \
--tag ghcr.io/thebinaryninja/tvapp2:1 \
--tag ghcr.io/thebinaryninja/tvapp2:latest \
@@ -1041,7 +1047,7 @@ docker buildx imagetools create \
=> [internal] pushing ghcr.io/thebinaryninja/tvapp2:latest 0.2s
=> [internal] pushing ghcr.io/thebinaryninja/tvapp2:1 0.2s
=> [internal] pushing ghcr.io/thebinaryninja/tvapp2:1.5 0.2s
- => [internal] pushing ghcr.io/thebinaryninja/tvapp2:1.5.3 0.2s
+ => [internal] pushing ghcr.io/thebinaryninja/tvapp2:1.5.4 0.2s
```
@@ -1087,8 +1093,8 @@ In this example, we take the existing two files we created earlier, and merge th
```shell
# Example 1 (using tag)
docker manifest create ghcr.io/thebinaryninja/tvapp2:latest \
- --amend ghcr.io/thebinaryninja/tvapp2:1.5.3-amd64 \
- --amend ghcr.io/thebinaryninja/tvapp2:1.5.3-arm64
+ --amend ghcr.io/thebinaryninja/tvapp2:1.5.4-amd64 \
+ --amend ghcr.io/thebinaryninja/tvapp2:1.5.4-arm64
# Example 2 (using sha256 hash)
docker manifest create ghcr.io/thebinaryninja/tvapp2:latest \
@@ -1129,7 +1135,7 @@ To build the project, `🗔 cd` into the project folder and run the build comman
```shell
cd /home/docker/tvapp2/
-npm run docker:build:amd64 --VERSION=1.5.3 --BUILDDATE=20260812
+npm run docker:build:amd64 --VERSION=1.5.4 --BUILDDATE=20260812
```
@@ -2038,7 +2044,7 @@ There are multiple errors you can receive when attempting to run your TVApp2 doc
If you receive any of the above errors; this means that you have not set your `run` files to have execute permissions `+x`. Run the following command in the root directory of your TVApp2 project folder:
```shell
-find ./ -name 'run' -exec sudo chmod +x {} \;
+find ./ -name 'run' -print -exec sudo chmod +x {} \;
```