(Could not post the error due to max 2 links per post)
2. What steps can we take to reproduce this issue?
Follow that link to installing central on digital ocean on a fresh ubuntu 22.04 install. (Does it matter it's Ampere instead of Intel CPU???)
3. What have you tried to fix the issue?
Delete everything and do it again.
4. Upload any forms or screenshots you can share publicly below.
failed to solve: tianon/postgres-upgrade:9.6-to-14: no match for platform in manifest sha256:2ff78f791338b3502c8b61dc148f1e7e8a4ebdd7f69f2cdd33f0f31ec16f7896: not found
Yes, it's because your CPU is ARM and we currently only support AMD. Or rather, most Docker images work on AMD and ARM support is something that needs to be added.
In the case of ODK, once the fixes are done upstream (e.g., in tianon's docker-postgres-upgrade), I expect Central will work just great on ARM.
@yanokwa I am not actually using ARM64 anywhere currently, but was just trying to simplify the deployment of our tool for Mac users mostly (i.e. pulling instead of building).
Building the images on ARM64 should not typically be an issue, as most bases (the FROM in dockerfiles) are multi-arch. However I can see four potential failure points in the compose stack:
The postgres upgrade image extends an AMD64 image.
The pyxform image is prebuilt to AMD64 only.
The Enketo image extends an ARM64 image.
The issue with dependencies during the Central service (backend) build, as linked above.
I believe the other images should build without issue.
To run the full stack ARM64, the solution is to make the docker-postgres-upgrade, enketo and pyxform images multi-arch upstream, not a small task!
The problem described in this thread is because the pg upgrade container is the first in the docker compose stack, so it's the first to fail.
Thank you very much for the answers! I will just start a new non-arm server for this. Might be good to put that in the docs, possibly. The error message is a bit unclear, although it does talk about 'platform'.