Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

One-Click App specify architecture #1929

Open
onlyspike opened this issue Oct 25, 2023 · 6 comments
Open

One-Click App specify architecture #1929

onlyspike opened this issue Oct 25, 2023 · 6 comments

Comments

@onlyspike
Copy link

I have found that a couple of apps when using the One-Click App process I get the below error "exec format error".
From what I have found is that it seems to be an architecture issue.

Eg. I am trying to install listmonk and I am getting this error after build.

Is there a way to specify which architecture / platform it needs to use eg. arm64 during the one-click process?

@maietta
Copy link

maietta commented Oct 25, 2023

I think to accomplish this, the CapRover system would need to collect up this information ahead of time.

I think there could be an opportunity for CapRover's website to maintain a list of software versions and architectures available, along with other info such as whether or not the software is free and open source, or requires money for use, etc.

I'll reach out to Kasra about this, as I'd be willing to write a web crawler that runs periodically to maintain the software catalog.

I've been thinking about a central catalog to pull data from, beyond what's currently there. If an app is unsupported, it could be listed but grey 'ed out when searched. It'd be pretty slick of the UI could auto-filter the results based on the architecture.

One of the issues I see though relates to a Docker Swarm. Some people build their clusters with a variety of architectures. Not sure how to address that.

@githubsaturn
Copy link
Collaborator

Until a built in method is available, the only potential way is to inspect the one click app definition for the particular app and see if the image supports the respective platform. There are images that are built for every single CPU architecture under the sun (like WordPress) or you have other images that are only on amd64.

image

vs

image

@adamshand
Copy link

In lieu of something automatic, could there be a field under caproverExtra which allows authors of one-click-apps to state which architectures are supported? That way, the caprover web interface could show only apps that will install?

@jmdetect
Copy link

@githubsaturn sorry to go offtopic here, but I just was looking for where in the codebase the One Click App "version" field is, to understand where the default version chosen comes from. That seems closely related to this. Do you have any knowledge?

I planned to do a PR if accepted that adds a button for the latest version as an option. This is because, for many apps, they don't work on the default version but the latest version works fine. This could solve some headaches. Happy to look at editing the code if I know where to look if that makes sense!

@githubsaturn
Copy link
Collaborator

default version chosen comes from

Any app defines its own default version, here is wordpress for example.

adds a button for the latest version as an option

The latest option is explicitly frowned upon as it breaks the gauranteed reproducible.

If a contributor tests and submits the PR for App XYZ version 3.5, then we know that this version works for sure (assuming that they actually tested this). But let's say in version 3.6, the XYZ developer renames a required env variable, and the app silently just breaks if we use latest tag.

@jmdetect
Copy link

Thank you for explaining the reasoning and these choices, makes sense. I won't submit a PR for including a latest button then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants