Hit me up when you need testing And let me know if there is anything I can do to help
As soon as it builds, I will post an update âŚ
Just another issue: https://github.com/NuGet/Home/issues/12227
I think we will have to wait a few weeks or months until everything is resolved.
Hi Sebastian,
If that helps, I have quickly tested following change to your Dockerfile and it allowed me to build and then successfuly run Squidex through docker compose from your hosting Github repository. I use Macbook Pro with M1 Max CPU.
I did following changes:
#
# Stage 2, Build Frontend
#
FROM node:18.10-bullseye-slim as frontend
ENV DEBIAN_FRONTEND noninteractive
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
ENV CHROME_BIN=/usr/bin/chromium
RUN apt-get update && \
apt-get install -y wget gnupg && \
apt-get install -y fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \
libgtk2.0-0 libnss3 libatk-bridge2.0-0 libdrm2 libxkbcommon0 libgbm1 libasound2 && \
apt-get install -y chromium && \
apt-get clean
WORKDIR /src
----- rest of dockerfile
I donât really know how you built your base image for frontend build, but you may want to apply changes above to it, then build a multi-arch image.
Regards,
Krzysztof
Docker is not the problem for me. It is actually dotnet and docker.
I have used latest âmasterâ branch from squidex repo with dotnet 7 SDK installed. No issues here.
How do you build? On Mac?
Yes on my M1 Mac. I checked out master source, modified Dockerfile as in first post and ran âbuild.shâ. I modified build.sh to push new built image to my personal docker repo.
Then I checked out squidex-hosting repo, changed the âimageâ value to point to my custom image in docker-compose-noproxy.yaml. Ran docker-compose up and all works well.
Previously I had QUEMU signal errors, now it works like a charm.
I presume you are trying to do it from Windows machine but target multiple architectures ?
I do not have a mac and afaik the github actions are all Linux machines. There are QEMU errors. If you find a solution that runs on github I would appreciate it, but I already spend days and was jumping from one error to the next. Docker and .NET and so on. Also internal errors from the build engines, not just misconfiguration.
I understand, I spent half a day today on it, itâs already far more than I usually do. I use Gitlab with my stuff, but will see if I can find a place to test this on Github. Would love to contribute here.
In the mean time Docker for Mac pushed an update https://docs.docker.com/desktop/release-notes/#4160 " * New Beta feature for MacOS 13, Rosetta for Linux, has been added for faster emulation of Intel-based images on Apple Silicon."
I will test if this works and circle back here
Can confirm that until ARM support is done, this is a viable workaround.
Only extra thing on my end was adding the following env var:
ASPNETCORE_hostBuilder__reloadConfigOnChange=false
Because startup would fail, on Unhandled exception. System.IO.IOException: Function not implemented
(whereas before the container would not even start)
I think this change could be made directly into the dockerfile.
Thanks for the outlined workaround, I can confirm that with Rosetta itâs working as expected. One thing Iâve noticed though is that I can only get to run squidex/squidex:6, whereas squidex/squidex:7 does not work for me. Unfortunately, thereâs not even any log output I could share. As I canât find anything else in the forum regarding this behaviour I assume this is also related to Docker + ARM? Can I do anything within the container for better debugging / sharing information? Thanks for any response!
You could try to run Squidex from Visual Studio. Perhaps you can then find the error.
Thanks for the quick response. Sorry I have only JetBrains and literally no experience with .net applications. There should be at least some location inside the container where I could look for potential log outputs, isnât there?
JetBrains rider works as well.
Yes, but if it crashes before it could even log something, then you need to debug it.
Thanks for the tip Sebastian - I could start the backend from master branch with JetBrains Rider and can also see logging output on the console as if I would use the Docker Container ⌠it crashes then with a timeout error regarding the MongoDB connection but this is expected I guess as Iâve no MongoDB running locally. So Iâm again stuck why this is not working when using squidex/squidex:7 docker image.
I have no idea. Are you sure there is nothing in the logs with docker logs
and so on?