badges / shields

Concise, consistent, and legible badges in SVG and raster format
https://shields.io
Creative Commons Zero v1.0 Universal
23.84k stars 5.51k forks source link

SHields.io Docker for arm64 arch (64 bits raspberry) #9192

Open Lurius-Kitsune opened 1 year ago

Lurius-Kitsune commented 1 year ago

:clipboard: Description Hello !

I have a raspberry PI4 running on linux/arm64/v8 arch and i wanted to know if one day there will be a version of shield.io running on this plateform (it's also 64 bits)

chris48s commented 1 year ago

Although we don't publish a aarch64 docker image, I don't think there is anything that should stop it running on that platform. If you want to self-host on that hardware, I'd suggest running by installing from source https://github.com/badges/shields/blob/master/doc/self-hosting.md#installing-from-source

Lurius-Kitsune commented 1 year ago

And do you think of one day making another platform?

Lurius-Kitsune commented 1 year ago

Also I've took a look in self hosting, I don't understand the line "The root gets redirected to https://shields.io/.", may i get help?

calebcartwright commented 1 year ago

Could you help me get a better understanding of what specifically you're asking or requesting?

For example, are you requesting that we also publish our Docker image with additional arch support (arm64 in particular) so that the image we provide can be directly consumed and utilized there?

Or are you asking whether it's possible to run Shields outside an x86 context? Or something else?

Shields itself is a pretty standard JavaScript app (at least in the context of lower level subjects like instruction sets, libc, etc.), so there's no arch/platform constraints. I suspect somewhere in our dependency tree there may be a couple packages that utilize native add-ons which could create a surface for arch-driven challenges. However, I'd be surprised if there were actually any such incompatibilities, and even if so, would imagine those would be constrained to dev dependencies (i.e. maybe cause some issues with an inner dev loop/contributing workflow, but wouldn't pose any problems actually running the app).

If you're just trying to get Shields instance up and running on your raspberry pi, and docker is your preferred vehicle for doing so, you could just clone the repo down to the device (or grab an archive file version of it if you don't have git on there), and then building the image yourself - https://github.com/badges/shields/blob/master/doc/self-hosting.md#building-docker-image-locally (if memory serves correctly, you may to use docker buildx specifically, but I'm unsure as I haven't personally done much with multi-arch image work)

Lurius-Kitsune commented 1 year ago

I'm asking if it's possible for Docker image with additional arch support (arm64 in particular)

BGut also i'm wondering about the documentation for self hosting from source, is say The root gets redirected to https://shields.io/, what does it mean

calebcartwright commented 1 year ago

I'm asking if it's possible for Docker image with additional arch support (arm64 in particular)

Then I guess the answer is essentially: sure, it's possible for us to publish our image with additional arch support, but I doubt that's something we'll have the bandwidth to work on ourselves (i.e. if someone wants to submit a PR with the changes we'd need to our image publishing process we'd definitely review and consider pulling in, but we're unlikely to do that work ourselves for the foreseeable future).

So what we're also saying is that even if this does happen, it probably won't happen any time soon, and as such you'd want to consider some of the alternatives suggested in the meantime.

BGut also i'm wondering about the documentation for self hosting from source, is say The root gets redirected to https://shields.io/, what does it mean

I don't actually remember to be honest, and I understand why you're asking the question because that line is somewhat nebulous in my reading too. I don't think it's something you have to worry about/focus on for the purposes of building and running your own image though (you should be able to hit the local shields instance on whatever port you specify)

Lurius-Kitsune commented 1 year ago

I don't actually remember to be honest, and I understand why you're asking the question because that line is somewhat nebulous in my reading too. I don't think it's something you have to worry about/focus on for the purposes of building and running your own image though (you should be able to hit the local shields instance on whatever port you specify)

Not really, because i have to connect in localhost, if i want to use the local ip (192.168.1.x) i have to edit developpement.yml, maybe need more explanation in hosting from source in the .md file?

calebcartwright commented 1 year ago

Apologies but I'm not following you again.

In the spirit of trying to maintain structured and focused discussions, I think it would probably be best to keep this particular issue centered around the specifics of getting multi arch support implemented.

If you're experiencing an issue/have a question about running a self-hosted instance then my suggestion would to open a separate issue or a discussion with the relevant details so we can discuss that separate topic in its own focused thread

Lurius-Kitsune commented 1 year ago

Apologies but I'm not following you again.

In the spirit of trying to maintain structured and focused discussions, I think it would probably be best to keep this particular issue centered around the specifics of getting multi arch support implemented.

If you're experiencing an issue/have a question about running a self-hosted instance then my suggestion would to open a separate issue or a discussion with the relevant details so we can discuss that separate topic in its own focused thread

Sure, I apologies my english, is sometime, a little bit broken ^^"; Just to conclude about multi arch, I will try to build it on my rasp, but if it's not working I don't relly knoww what to do :/


For the documention about self-hosting:

I was wondering if it could updated for the "From Source" part, because, as I was saying, it's set to localhost but as I am seeing, only the host can acces to shield.io self-hosting, you have to edit developement.yml to change localhost to 0.0.0.0 for acces outside (Maybe i'm blind or I took the wrong path)

calebcartwright commented 1 year ago

Sure, I apologies my english, is sometime, a little bit broken ^^";

No worries, and no apology needed! I just want to ensure we fully understand what you're asking/suggesting.

I will try to build it on my rasp, but if it's not working I don't relly knoww what to do :/

That's great, please feel free to share your findings here as it may be beneficial for whomever ends up working on our Docker image publishing process

For the documention about self-hosting:

This is the topic I'm suggesting we take somewhere else outside of this issue, as it's not really related to the main topic of this issue about adding additional arch support to the docker images we ship.

This is part of where I'm unsure if I'm following you, as it's unclear to me if you've got the Node.js runtime and are trying to run the server directly (and if so via which mechanism) or if this is in reference to running a container.

Docker networking is often more complicated than many folks initially imagine, and I think it would be better to avoid mixing conversation about new image architectures with hosting troubleshooting and/or suggestions around docs. If you'd like to suggest changes to the docs then perhaps open a PR with proposed changes, or perhaps open a new discussion