not sure if this is worth a mention, but trying to...
# talk-kratos
r
not sure if this is worth a mention, but trying to follow https://www.ory.sh/docs/kratos/quickstart#clone-ory-kratos-and-run-it-in-docker on a
aarch64
linux will fail to start the
oryd/kratos-selfservice-ui-node
container (
oryd/kratos
runs fine):
Copy code
docker-compose -f quickstart.yml -f quickstart-standalone.yml up --build --force-recreate
[...]
kratos-selfservice-ui-node_1  | exec /bin/sh: exec format error
kratos-selfservice-ui-node_1  | exec /bin/sh: exec format error
kratos-selfservice-ui-node_1  | exec /bin/sh: exec format error
kratos_kratos-selfservice-ui-node_1 exited with code 1
kratos-selfservice-ui-node_1  | exec /bin/sh: exec format error
kratos-selfservice-ui-node_1  | exec /bin/sh: exec format error
kratos-selfservice-ui-node_1  | exec /bin/sh: exec format error
kratos-selfservice-ui-node_1  | exec /bin/sh: exec format error
kratos_kratos-selfservice-ui-node_1 exited with code 1
[...]
This is because while the
oryd/kratos
container is built for arm64:
Copy code
docker image inspect oryd/kratos:v0.13.0 | grep Arch
        "Architecture": "arm64",
The node container is not:
Copy code
$ docker image inspect oryd/kratos-selfservice-ui-node:v0.13.0 | grep Arch
        "Architecture": "amd64",
For reference I was attempting to follow the guide on a
aarch64
linux machine running in UTM on a M1 mac:
Copy code
$ uname -a
Linux linux-test-1 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:29:30 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
was able to get past this by building my own
eest/kratos-selfservice-ui-node:v1.0.0
(after struggling with the same problem mentioned in https://github.com/ory/kratos-selfservice-ui-node/issues/273 (see my comment there for what my problem was)) and now things work. So it is possible to build the container for arm64
… right,
oryd/mailslurper:latest-smtps
has the same problem it seems:
Copy code
exec ./mailslurper: exec format error
Copy code
docker image inspect oryd/mailslurper:latest-smtps | grep Arch
        "Architecture": "amd64",
was able to build my own with the following changes:
Copy code
mailslurper$ git diff
diff --git a/Dockerfile-smtps b/Dockerfile-smtps
index 64de774..f264915 100644
--- a/Dockerfile-smtps
+++ b/Dockerfile-smtps
@@ -1,9 +1,9 @@
-FROM golang:1.13-alpine as builder
+FROM golang:1.18-alpine as builder

 ENV GO111MODULE=on

 RUN apk --no-cache add git libc-dev gcc
-RUN go get <http://github.com/mjibson/esc|github.com/mjibson/esc>
+RUN go install <http://github.com/mjibson/esc@latest|github.com/mjibson/esc@latest>

 COPY . /go/src/github.com/mailslurper/mailslurper
 WORKDIR /go/src/github.com/mailslurper/mailslurper/cmd/mailslurper
just to report back with this it seems i can run the kratos stack just fine, so arm64 seems to work fine, given that there are arm64 builds of all related containers present on dockerhub
(for now i just run my own builds of node-ui and mailslurper)