simple-login / app

The SimpleLogin back-end and web app
https://simplelogin.io
GNU Affero General Public License v3.0
5.13k stars 434 forks source link

arm64 docker image no longer available #1566

Open KennethWussmann opened 1 year ago

KennethWussmann commented 1 year ago

Prerequisites

Bug report

Describe the bug The docker image simplelogin/app published to docker hub used to support the arm64 arch. For example this one month old image simplelogin/app@4.6.5-beta

The successor simplelogin/app-ci is not multi-arch and only supports amd64.

Expected behavior Because simplelogin/app does not appear to be updated anymore, I would expect that the successor simplelogin/app-ci supports arm64 arch just like the previous image did.

Additional context A multi-arch build is missing here: https://github.com/simple-login/app/blob/master/.github/workflows/main.yml#L151-L156

Thank you

nguyenkims commented 1 year ago

@KennethWussmann the simplelogin/app-ci is only used for our SaaS product (simplelogin.io) and we don't use ARM in production.

KennethWussmann commented 1 year ago

@nguyenkims I see. I just hoped that maybe I could use it for testing my API client, but understandable if this is currently not a priority. Thanks for checking.

Slevin90 commented 1 year ago

For my self-hosted SimpleLogin instance I use a raspberrypi. 4.6.4-beta is running good for last few months. I'd also like to see updates for arm64, helping the self-hosted people

Slevin90 commented 1 year ago

Additional info:

@nguyenkims already had arm builds working before with help of @Metabaron1 (who has an 4.22.5 version online at hub.docker.com/r/metabaron/app) https://github.com/simple-login/app/issues/270

Seems like new versions haven't been made for https://hub.docker.com/r/simplelogin/app/ ( most recent is 4.6.5-beta) and it isn't enabled for https://hub.docker.com/r/simplelogin/app-ci/ (on v.4.28.2)

Metabaron1 commented 1 year ago

Hi Indeed I'm still running on arm64. So I built and pushed 4.22.5 just to try out, but I'm using 4.6.5-beta as is recommended version for self hosting. I didn't noticed bug with beta version, and as I only have basic use, I don't really need app-ci new features ;)

Slevin90 commented 1 year ago

I'm not looking for features, but having an up to date setup is also a security item to keep in mind.

Metabaron1 commented 1 year ago

I do not rely on app security, I monitor all network connections. But indeed, security is a good reason to use app-ci if you only rely on application. Are you unable to build your own arm62 image on your raspberrypi?

Slevin90 commented 1 year ago

Are you unable to build your own arm62 image on your raspberrypi?

I don't know how to build. Prefer it's build by the owner, this could be one thustworthy channel for all arm64 users

Metabaron1 commented 1 year ago

Best thustworthy channel is your own built one ;) Here is how to build 4.28.2:

wget https://github.com/simple-login/app/archive/refs/tags/v4.28.2.zip
unzip v4.28.2.zip
docker build --tag app:4.28.2 app-4.28.2

... should end up with "Successfully tagged app:4.28.2"

docker image ls app:4.28.2 should list : "app 4.28.2 ... About a minute ago 1.58GB"

Now when referencing sl-app image in docker command or docker-compose file, just replace official image "simplelogin/app:x.x.x" with your own local built image "app:4.28.2"

Edit: you have to build it on the raspberry to produce arm64 image. It's possible to build arm64 on intel platform as cross-platform build but it's a much more complex process, so just do it on your raspberry ;)

enjoy!

Slevin90 commented 1 year ago

building 4.28.2 for arm64v8 worked (odroid-m1) . https://hub.docker.com/r/slevin1/app

updated database, like the update instructions ( Note: use alembic upgrade head in stead of flask db upgrade found in https://github.com/simple-login/app/issues/1205#issue-1323204760 and https://github.com/simple-login/app/issues/916#issuecomment-1536045961)

had some problems with critical crash, manually increased the timeout in the sl-app-container from 15 to 45 gunicorn wsgi:app -b 0.0.0.0:7777 -w 2 --timeout 45

testing-environment works so far.

martadams89 commented 7 months ago

Should be resolved with https://github.com/simple-login/app/pull/2056