simple-login / app

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

linux/arm64 image missing #270

Closed Metabaron1 closed 3 years ago

Metabaron1 commented 4 years ago

Hi This is not an issue, more a request: could you please also build a linux/arm64 docker image, it would be appreciated. Otherwise I'm able to build it myself, it's working fine, so it's not a problem if not possible.

Thanks

nguyenkims commented 4 years ago

@Metabaron1 Could you please create a PR with the changes needed to build a linux/arm64 docker image? We will then publish this image under the SimpleLogin docker account :)

Metabaron1 commented 4 years ago

Initially I just built it directly on a linux/arm64 Debian VM (Freebox Delta). I'm newbie with GIT. Seems that PR is used to request code and files update? But this is only a build modification, and I don't know how you do it.

From Docker documentation, it's stated that it's possible to build multi-platform images using the experimental feature docker buildx : https://docs.docker.com/buildx/working-with-buildx/ Then I tried a cross arch build on a linux/amd64 Debian (45mn): apt install qemu-user-static export DOCKER_CLI_EXPERIMENTAL=enabled

docker buildx create --use docker buildx build --push --tag metabaron/app:3.2.2 --platform linux/amd64,linux/arm64 simple-login-app-3.2.2

Image is OK docker buildx imagetools inspect metabaron/app:3.2.2 ... Name: docker.io/metabaron/app:3.2.2@sha256:7858075b6acc8dfecefbceb37817cdaa0044db796a32fc070e32aed720e8b85c MediaType: application/vnd.docker.distribution.manifest.v2+json Platform: linux/amd64

 Name:      docker.io/metabaron/app:3.2.2@sha256:7d2869c135bd649f1ffb0ae84b6f1b3ff69fbf90bb71066acd2c49e049969eb4
 MediaType: application/vnd.docker.distribution.manifest.v2+json
 Platform:  **linux/arm64**

And is running fine on arm64 Debian.

Metabaron1 commented 3 years ago

Hi @nguyenkims OK, now I know a little more about multi-arch build and PR. But how do you build your image on docker hub? Manually and you push image on docker hub, or have you enabled automated builds on docker hub from github? The previous method I suggested is for a manual build, and I can't hep you more. But if you have enabled docker hub autobuild, I think I can make a PR to add files required for multi arch build.

theAkito commented 3 years ago

All you have to do is set up Docker Buildx and then you can use this generic script I created.

The script builds, if buildx is enabled, the 3 most common architectures by default and automatically pushes them. I find this better than Docker Hub's auto build, so I use this script for all my Docker projects.

If this should be automatized, a CD pipeline would be nice, that would trigger the script in non-interactive mode on each version.

nguyenkims commented 3 years ago

@Metabaron1 @theAkito Currently the image is built locally and pushed to Docker Hub. We have CI/CD for the non-versioned image and this is constantly deployed onto our servers. As the self-hosted version requires more testing, the release cycle is much less frequent.

nguyenkims commented 3 years ago

Just to let you know that the new version 3.3.0 has been released. If you have a running SL instance, please let me know if there's any issue with upgrade (there shouldn't but we never know for sure :) )

Metabaron1 commented 3 years ago

New version 3.3.0 built and is running fine. DB upgrade was ok. Thanks for update :)

Metabaron1 commented 3 years ago

I thought you still was planning to add linux/arm64 image to your CI/CD and docker repository?

nguyenkims commented 3 years ago

@Metabaron1 I'm trying to create arm image for SimpleLogin by following this guide https://www.docker.com/blog/multi-arch-images/ and have error when running this command docker buildx build --platform linux/arm64,linux/arm/v7 -t simplelogin/app-ci:arm --push .

Do you have an idea? It seems to be due to the cffi dependency

#10 972.6   creating build/temp.linux-aarch64-3.7/c
#10 972.6   gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-aarch64-3.7/c/_cffi_backend.o
#10 972.6   unable to execute 'gcc': No such file or directory
#10 972.6   error: command 'gcc' failed with exit status 1
#10 972.6   ----------------------------------------
#10 972.6   ERROR: Failed building wheel for cffi
#10 972.6   Running setup.py clean for cffi
#10 974.8 Successfully built msgpack pyrsistent
#10 974.8 Failed to build cryptography cffi
#10 977.3 Installing collected packages: pycparser, urllib3, six, idna, chardet, cffi, certifi, asn1crypto, zipp, requests, pylev, pastel, msgpack, jeepney, cryptography, webencodings, secretstorage, pyrsistent, ptyprocess, lockfile, importlib-metadata, clikit, cachecontrol, attrs, tomlkit, shellingham, requests-toolbelt, pyparsing, pkginfo, pexpect, keyring, jsonschema, html5lib, cleo, cachy, poetry
#10 980.5     Running setup.py install for cffi: started
#10 983.3     Running setup.py install for cffi: finished with status 'error'
#10 983.3     ERROR: Command errored out with exit status 1:
#10 983.3      command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-tf206_hy/cffi_c31280689f2a4ecf8c4423c792cff6ac/setup.py'"'"'; __file__='"'"'/tmp/pip-install-tf206_hy/cffi_c31280689f2a4ecf8c4423c792cff6ac/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-z8fxbk90/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.7m/cffi
#10 983.3          cwd: /tmp/pip-install-tf206_hy/cffi_c31280689f2a4ecf8c4423c792cff6ac/
#10 983.3     Complete output (48 lines):
#10 983.3     unable to execute 'gcc': No such file or directory
#10 983.3     unable to execute 'gcc': No such file or directory
#10 983.3
#10 983.3         No working compiler found, or bogus compiler options passed to
#10 983.3         the compiler from Python's standard "distutils" module.  See
#10 983.3         the error messages above.  Likely, the problem is not related
#10 983.3         to CFFI but generic to the setup.py of any Python package that
#10 983.3         tries to compile C code.  (Hints: on OS/X 10.8, for errors about
#10 983.3         -mno-fused-madd see http://stackoverflow.com/questions/22313407/
#10 983.3         Otherwise, see https://wiki.python.org/moin/CompLangPython or
#10 983.3         the IRC channel #python on irc.freenode.net.)
#10 983.3
#10 983.3         Trying to continue anyway.  If you are trying to install CFFI from
#10 983.3         a build done in a different context, you can ignore this warning.
#10 983.3
#10 983.3     running install
#10 983.3     running build
#10 983.3     running build_py
#10 983.3     creating build
#10 983.3     creating build/lib.linux-aarch64-3.7
#10 983.3     creating build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/commontypes.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/api.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/lock.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/verifier.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/pkgconfig.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/backend_ctypes.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/cffi_opcode.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/__init__.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/vengine_cpy.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/recompiler.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/error.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/setuptools_ext.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/model.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/cparser.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/vengine_gen.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/ffiplatform.py -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/_cffi_include.h -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/parse_c_type.h -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/_embedding.h -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     copying cffi/_cffi_errors.h -> build/lib.linux-aarch64-3.7/cffi
#10 983.3     running build_ext
#10 983.3     building '_cffi_backend' extension
#10 983.3     creating build/temp.linux-aarch64-3.7
#10 983.3     creating build/temp.linux-aarch64-3.7/c
#10 983.3     gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-aarch64-3.7/c/_cffi_backend.o
#10 983.3     unable to execute 'gcc': No such file or directory
#10 983.3     error: command 'gcc' failed with exit status 1
#10 983.3     ----------------------------------------
#10 983.3 ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-tf206_hy/cffi_c31280689f2a4ecf8c4423c792cff6ac/setup.py'"'"'; __file__='"'"'/tmp/pip-install-tf206_hy/cffi_c31280689f2a4ecf8c4423c792cff6ac/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-z8fxbk90/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.7m/cffi Check the logs for full command output.
------
Dockerfile:10
Metabaron1 commented 3 years ago

I already tried buildx at the beginning but I can't remember if I was successful because now I am using QEMU mutilarch hook like this: https://github.com/jnovack/docker-multi-arch-hooks

Builbx is more easy to use, then I suppose I failed, that why I finally used QEMU ;) But I'll retry buildx, now that I'm more experienced with multiarch build, and let you know this week.

Metabaron1 commented 3 years ago

"unable to execute 'gcc': No such file or directory" maybe a stupid question but, is gcc installed? ;)

Metabaron1 commented 3 years ago

I successfully built 3.3.0 arm64 on x86-64 with this method. But seems that there is a pb with arm/v7. Maybe it's the same problem I had at some time, and for which I had proposed the PR that became obsolete, as the problem has been fixed for arm64 due to Apple's M1, but it is not fixed for the less popular arm/v7... I'll retry tomorrow or this wek end.

nguyenkims commented 3 years ago

"unable to execute 'gcc': No such file or directory" maybe a stupid question but, is gcc installed? ;)

I think gcc is installed as a dependency for poetry, this tool seems to have some issues to be installed via pip 

Metabaron1 commented 3 years ago

No problem to build 3.3.0 for arm64 on x86-64:

/sl# uname -smr Linux 4.19.0-14-amd64 x86_64 :~/sl# time docker buildx build --tag metabaron/app:3.3.0 --platform linux/arm64 simple-login-app-3.3.0 WARN[0000] invalid non-bool value for BUILDX_NO_DEFAULT_LOAD: WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load [+] Building 4818.3s (16/16) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 648B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 112B 0.0s => [internal] load metadata for docker.io/library/python:3.7 1.1s => [internal] load metadata for docker.io/library/node:10.17.0-alpine 2.3s => CACHED [stage-1 1/7] FROM docker.io/library/python:3.7@sha256:408f208f9842b460c24aefd9dc57e2163e6bc520db9a3eea0bdcb9373423e787 0.0s => => resolve docker.io/library/python:3.7@sha256:408f208f9842b460c24aefd9dc57e2163e6bc520db9a3eea0bdcb9373423e787 0.0s => [internal] load build context 1.0s => => transferring context: 21.40MB 1.0s => [npm 1/4] FROM docker.io/library/node:10.17.0-alpine@sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22 2.5s => => resolve docker.io/library/node:10.17.0-alpine@sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22 0.1s => => sha256:27a61482b48fa89a9a17d92233f370938343acb736f203c0e18c4f3ddfc5cb87 281B / 281B 0.2s => => sha256:bfe64a197007185ac1d57037f36af92ab6b030ef8bb8df977cc2519e3f9dc7b3 1.41MB / 1.41MB 0.3s => => sha256:21cfd525eb13c18c84dea173712acfc494c61f791dd46c14211299c0d4ffc081 21.52MB / 21.52MB 0.7s => => sha256:8bfa913040406727f36faa9b69d0b96e071b13792a83ad69c19389031a9f3797 2.72MB / 2.72MB 0.4s => => extracting sha256:8bfa913040406727f36faa9b69d0b96e071b13792a83ad69c19389031a9f3797 0.2s => => extracting sha256:21cfd525eb13c18c84dea173712acfc494c61f791dd46c14211299c0d4ffc081 1.7s => => extracting sha256:bfe64a197007185ac1d57037f36af92ab6b030ef8bb8df977cc2519e3f9dc7b3 0.1s => => extracting sha256:27a61482b48fa89a9a17d92233f370938343acb736f203c0e18c4f3ddfc5cb87 0.0s => [stage-1 2/7] RUN pip3 install poetry==1.0.10 106.0s => [npm 2/4] WORKDIR /code 0.2s => [npm 3/4] COPY ./static/package*.json /code/static/ 0.1s => [npm 4/4] RUN cd /code/static && npm install 17.6s => [stage-1 3/7] WORKDIR /code 0.1s => [stage-1 4/7] COPY poetry.lock pyproject.toml ./ 0.1s => [stage-1 5/7] RUN poetry config virtualenvs.create false && poetry install --no-root 4708.2s => [stage-1 6/7] COPY --from=npm /code /code 0.4s => [stage-1 7/7] COPY . . 0.2s

real 80m18.580s user 0m13.800s sys 0m8.809s

Metabaron1 commented 3 years ago

Hmm can't reproduce your error ...I also tried the current version instead of 3.3.0, still no error for arm64:

/sl# time docker buildx build --tag metabaron/app:latest --platform linux/arm64 simple-login-app-lastest WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load [+] Building 4777.7s (18/18) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 648B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 112B 0.0s => [internal] load metadata for docker.io/library/python:3.7 1.4s => [internal] load metadata for docker.io/library/node:10.17.0-alpine 1.2s => [auth] library/python:pull token for registry-1.docker.io 0.0s => [auth] library/node:pull token for registry-1.docker.io 0.0s => [stage-1 1/7] FROM docker.io/library/python:3.7@sha256:408f208f9842b460c24aefd9dc57e2163e6bc520db9a3eea0bdcb9373423e787 0.1s => => resolve docker.io/library/python:3.7@sha256:408f208f9842b460c24aefd9dc57e2163e6bc520db9a3eea0bdcb9373423e787 0.1s => [internal] load build context 0.8s => => transferring context: 21.72MB 0.7s => [npm 1/4] FROM docker.io/library/node:10.17.0-alpine@sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22 0.1s => => resolve docker.io/library/node:10.17.0-alpine@sha256:da8161962573bd6ab16b54a9bfa81a263458e5199074d0678d0556376b22bd22 0.0s => CACHED [npm 2/4] WORKDIR /code 0.0s => [npm 3/4] COPY ./static/package*.json /code/static/ 0.1s => CACHED [stage-1 2/7] RUN pip3 install poetry==1.0.10 0.0s => CACHED [stage-1 3/7] WORKDIR /code 0.0s => [stage-1 4/7] COPY poetry.lock pyproject.toml ./ 0.1s => [npm 4/4] RUN cd /code/static && npm install 15.9s => [stage-1 5/7] RUN poetry config virtualenvs.create false && poetry install --no-root 4774.6s => [stage-1 6/7] COPY --from=npm /code /code 0.5s => [stage-1 7/7] COPY . . 0.2s

real 79m37.995s user 0m12.465s sys 0m7.561s

~/sl# docker version Client: Docker Engine - Community Version: 20.10.5 API version: 1.41 Go version: go1.13.15 Git commit: 55c4c88 Built: Tue Mar 2 20:17:50 2021 OS/Arch: linux/amd64 Context: default Experimental: true

Server: Docker Engine - Community Engine: Version: 20.10.5 API version: 1.41 (minimum version 1.12) Go version: go1.13.15 Git commit: 363e9a8 Built: Tue Mar 2 20:15:47 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.4 GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e runc: Version: 1.0.0-rc93 GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec docker-init: Version: 0.19.0 GitCommit: de40ad0

nguyenkims commented 3 years ago

I retried with docker buildx build --platform linux/arm64,linux/arm/v7 -t simplelogin/app-ci:arm --push . and still the same error. I'm now running docker buildx build --platform linux/arm64 -t simplelogin/app-ci:arm --push . (i.e. without the linux/arm/v7) but it seems to take forever and stuck in the CACHED [npm 4/4] RUN cd /code/static && npm install step ...

Metabaron1 commented 3 years ago

What's your platform/os and docker version?

nguyenkims commented 3 years ago

@Metabaron1 hey this is the output of docker version on my machine (which is an iMac)

Client: Docker Engine - Community
 Cloud integration: 1.0.9
 Version:           20.10.5
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        55c4c88
 Built:             Tue Mar  2 20:13:00 2021
 OS/Arch:           darwin/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:15:47 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
Metabaron1 commented 3 years ago

hmm... I don't have anymore MacOS at my job on which I could try... How ended you arm64 build that was stuck at [npm 4/4]? My build lasts 1h30!

This week end I tried to build all version (3.2.2/3.3.0/lastest) arm64: all ok armv7: ok for 3.2.2, fail for 3.3.0/lastest ( can't find Rust compiler at RUN pip3 install poetry==1.0.10 )

I don't know how I can help for your arm64 error :/ I'll try to update my 3.2.2 fork from your new version to check if autobuild is still ok dockerhub.

nguyenkims commented 3 years ago

How ended you arm64 build that was stuck at [npm 4/4]? My build lasts 1h30!

Wow that's a lot, it's possible that I have stopped the process after 30 minutes or so as I thought it was a bug. I'll retry today then.

Btw do you think support for arm64 is enough as armv7 seems to be quite obsolete right?

nguyenkims commented 3 years ago

@Metabaron1 hey the command docker buildx build --platform linux/amd64,linux/arm64 -t simplelogin/app-ci:all-arch --push . finally seems to work and it has pushed this image simplelogin/app-ci:all-arch

If you have an ARM server, can you please run this command to see if it works?

docker run --name sl -it --rm \
    -e RESET_DB=true \
    -e CONFIG=/code/example.env \
    -p 7777:7777 \
   simplelogin/app-ci:all-arch python server.py
Metabaron1 commented 3 years ago

That's why I put the timing on my builds logs, you didn't notice ;) I only use arm64, not armv7. But if I remember someone else requested armv7 for raspberry...

Here is the test, it's OK! sudo docker run --name sl -it --rm -e RESET_DB=true -e CONFIG=/code/example.env -p 7778:7777 simplelogin/app-ci:all-arch python server.py Unable to find image 'simplelogin/app-ci:all-arch' locally all-arch: Pulling from simplelogin/app-ci 383261dafcc4: Already exists 07a8073d5d99: Already exists a3e04ac5d146: Already exists be813e6ab586: Already exists 4593b8a7f792: Already exists 8c5b80e6065b: Already exists 6323379dfed0: Already exists 5c41c4bc4024: Already exists a4b73583d4ef: Already exists fdd1db8b525f: Pull complete 4744664e4106: Pull complete d1c5271cd7ad: Pull complete 6174c4d3a036: Pull complete 745891b5af16: Pull complete d1dd8b987c99: Pull complete Digest: sha256:ac2e1bec99790e01b313c7355856c1116ade2a2058002ee41d2ed9a73762c8a1 Status: Downloaded newer image for simplelogin/app-ci:all-arch load config file /code/example.env

URL: http://localhost:7777 MAX_NB_EMAIL_FREE_PLAN is not set, use 5 as default value Paddle param not set WARNING: Use a temp directory for GNUPGHOME /tmp/agehjaticgzxjdgcujei Upload files to local dir init logging <<< 2021-03-29 17:17:58,242 - SL - DEBUG - "/code/app/utils.py:11" - () - - load words file: /code/local_data/words.txt 2021-03-29 17:18:01,656 - SL - WARNING - "server.py:868" - local_main() - - reset db, add fake data 2021-03-29 17:18:01,669 - SL - DEBUG - "server.py:195" - fake_data() - - create fake data 2021-03-29 17:19:04,238 - SL - DEBUG - "/code/app/models.py:317" - create() - - Disable onboarding emails 2021-03-29 17:19:06,504 - SL - DEBUG - "/code/app/models.py:952" - generate_email() - - generate email chat_meo@sl.local 2021-03-29 17:19:31,814 - SL - DEBUG - "/code/app/models.py:780" - generate_oauth_client_id() - - generate oauth_client_id demo-mkebpphmsz 2021-03-29 17:19:36,255 - SL - DEBUG - "/code/app/models.py:780" - generate_oauth_client_id() - - generate oauth_client_id demo2-mvcwfgtutv 2021-03-29 17:19:42,377 - SL - DEBUG - "/code/app/models.py:317" - create() - - Disable onboarding emails 2021-03-29 17:19:44,410 - SL - INFO - "/code/init_app.py:45" - add_sl_domains() - - Add sl.local to SL domain

  • Serving Flask app "server" (lazy loading)
  • Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
  • Debug mode: on load config file /code/example.env URL: http://localhost:7777 MAX_NB_EMAIL_FREE_PLAN is not set, use 5 as default value Paddle param not set WARNING: Use a temp directory for GNUPGHOME /tmp/semzewbhhmgbdidjjuxh Upload files to local dir init logging <<< 2021-03-29 17:19:48,448 - SL - DEBUG - "/code/app/utils.py:11" - () - - load words file: /code/local_data/words.txt 2021-03-29 17:19:51,217 - SL - WARNING - "/code/server.py:868" - local_main() - - reset db, add fake data 2021-03-29 17:19:51,219 - SL - DEBUG - "/code/server.py:195" - fake_data() - - create fake data 2021-03-29 17:19:51,220 - SL - DEBUG - "/code/server.py:198" - fake_data() - - remove existing db file 2021-03-29 17:21:06,027 - SL - DEBUG - "/code/app/models.py:317" - create() - - Disable onboarding emails 2021-03-29 17:21:11,933 - SL - DEBUG - "/code/app/models.py:952" - generate_email() - - generate email alo_hey@sl.local ...
Metabaron1 commented 3 years ago

Great you finally succeded this multiarch buid :)

nguyenkims commented 3 years ago

Cool! Thanks for taking the time to test the new image! I'll try to include the support for ARM in 3.3.0 version then. Do you know if it's better to create a dedicated image for an architecture and can we use a single image for all architectures?

Metabaron1 commented 3 years ago

It's better a single image for all arch like you did for this one: amr64+amd. Docker will detect the arch and download the compatible image. By doing this, there will be only one Dockercompose for everyone. Thanks to you for adding multiarch :)

nguyenkims commented 3 years ago

The 3.4.0 was released that supports ARM. Please let me know if you run into any issue on a ARM server (you shouldn't) :)

Metabaron1 commented 3 years ago

Hi @nguyenkims simplelogin/app:3.4.0 arm64 image is running fine. Thanks for update! Oh you even resolved your error for arm/v7, cool :+1: Then you can mark this one as done ;) https://github.com/simple-login/app/discussions/396

nguyenkims commented 3 years ago

@Metabaron1 yep I've changed the way poetry is installed and now it's compatible to arm/v7 :)