-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Interest in docker images for arm/Raspberry Pi #899
Comments
@step21 It's great to hear you're interested in working on rpi/arm compatible images. Based on what I know (which is little) about how ARM support would require a different base image, Python build, conda build, etc. I think it would be best to maintain those images in a separate repo that we link from the community stacks documentation page. There was an effort long ago to add support for ppc architecture images to the repo here, but building, testing, and maintaining them properly alongside the more rapidly changing x86 images never panned out. |
First two images (based on berryconda) are functional now. https://github.com/step21/raspi-jupyter-docker-stacks |
Hi! I've been referred to this issue as I was working towards a contribution for rpi jupyter images. I have a working image for jupyter lab atm. I think we could join forces into a single PR and standardize jupyter images for arm. What do you think @step21 ? 😊 My current lab image https://github.com/jiwidi/jupyter-lab-docker-rpi |
Hi, thanks for commenting and your work. Please take a look at my images. You will see that they mirror the official ones as close as possible. I also first just used a general one like you or that someone else made, but abandoned it. As I see it, just running basic jupyterhub/lab is not a problem most of the time. More problematic is getting a full installation with everything built in and different kernels. For that docker is great and it's important to have multiple images building on top of each other. |
@step21 thank you for your work on this! |
@mathematicalmichael thanks! The scipy image is planned, I just want to resolve the fate of berryconda and rpi channel on conda first, as some stuff esp for scipy really needs a version upgrade but I want to make it using (berry)conda and rpi channel and not reinvent or selfcompile everything. See here jjhelmus/berryconda#79 (comment) |
... I ended up running into that problem maybe 2 hours after commenting. I'm sure you saw that as I found myself in the berryconda issues. building for ARM is way more of a challenge than I expected. |
Hey @step21 thanks a lot for the effort to have it available for rpi! Could you also update the images on docker hub? I see that the last update over there is abou 8 months old. I would be highly appreciated |
Thanks. This should be the latest. https://hub.docker.com/repository/docker/step21/rpi-base-notebook |
|
The newest versions are now here https://hub.docker.com/repository/docker/step21/jupyter-base-notebook and here https://hub.docker.com/repository/docker/step21/jupyter-minimal-notebook |
I tought about this some more, have we considered ditching conda/berryconda and going for pip only using piwheels? (It has one limitation, support for python 3.7 only) I have an image running this way and it works, but it's not a notebook server (pandas, matplotlib, and flask). |
For simple python-only images this can work. I had this too, that's not an issue. |
It makes sense, but with berryconda not being maintained anymore maybe we should think of rebasing on This might be an idea for the official images too, maybe. |
I think no one wants to install via apt, because often it is way too old. That said, I also want to ask my question that I asked over at berryconda github - what is you reason to use 32bit based distro? |
The most stable (and actually working) distribution on a raspberry pi is the official 32 bit raspiOS. This might change once raspiOS 64 bit gets released as stable. I tried doing the same things with ubuntu aarch64 but it wasn't as stable. |
Heads up: I got 64-bit raspbian running on my 4b+, came out last week, still experimental but working smoothly so far (I'm using the desktop mode) |
Cool.
What wasn't stable? I am running some stuff on ubuntu aarch64 since a month and it really great so far. Really trying to understand. I have some images ofr aarch64 here https://hub.docker.com/repository/docker/step21/jupyter-minimal-notebook - I think I decided that unless there is more effort to bring armv7l to conda-forge, I will focus on aarch64 and contribute to getting that on as many packages as possible on conda-forge. |
It just failed randomly, but I was really demanding, running 12 other containers (multiple nginx, postgres, php-fpm, gunicorn...). And I was using a Pi 3. |
I've seen that your docker image hasn't a Dockerfile uploaded, and this |
@masip85 the dockerfile is there on aarch64 branch https://github.com/step21/raspi-jupyter-docker-stacks/tree/aarch64 |
@step21 , I am sorry,I didn't see the branches! Now I see it uses miniforge, not exactly the same that miniconda. I think it just uses conda-forge, but as a restriction or default? I wanted to add something like:
|
Yeah sorry I meant miniforge. Miniconda dropped arm support, so miniforge is the best option. |
sure you can. To make it easier, I added the work in progress version of scipy-notebook. You will have to edit it for it to work. https://github.com/step21/raspi-jupyter-docker-stacks/tree/aarch64/scipy-notebook |
Do you use last DockerFile with rpi4 Ubuntu 64bits?
|
As I said, it is not working yet. I just uploaded if for you as a courtesy, so you can use that as basis if you want. Yesterday, llvmlite was merged to conda-forge, which will enable numba and then I will fix it. |
Yes, the issue is that I thought it was a functional Dockerfile. I just did an small numba change: conda config --add channels c4aarch64 And as you said, soon,numba in conda-forge. And jupyter extensions building will be possible? |
@step21 , numba is working from conda-forge: This step is used at the end of your repo raspi-docker-stacks:
Which functionalities left? Many things of course, but should arm be in a separated repo? Which should be next steps? Can things like jupyter lab extensions work in rpi? |
Thanks, yeah I worked on that one :)
Next thing would be some R packages, which require pandoc which requires Haskell which is not on conda for aarch64 yet. For now it has to be in a seperate repo, though I am also working on integrating qemu so that docker hub will build aarch64 for me as well.
Most jupyter lab extensions are just javascript, so they should definitely work. |
every time I'm reminded of R's dependencies I want to cry. Thanks for putting in the work on this stuff! |
Thanks. On another packages, I could sidestep haskell/pandoc as it was only used for documentation. But not sure if that is also true for R. |
Hi,
I just started to build docker images for jupyter based on this repository that are compatible with the Raspbbery Pi and other arm devices. I followed the steps of these dockerfiles (so far only base-notebook is done) but used pip instead of conda, as there is no official version of conda for arm and at the time i thought it was closed source. Now that I saw it would be possible to self-compile conda or maybe use berryconda (though that requires debian jessie) I might redo it with those. As baseimage I used balenalib-debian:python3.7-stretch - balena formerly resin) is a special debian distribution optimized for small devices. And f.e. already includes qemu to allow cross compiling on x86 to arm.
Generally, I just wanted to ask if there is any interest in including the resulting files and images in this repository? As the install method will have to differ a bit, at least for the base image, I am not sure if it makes sense to make a combined docker file that can do both or if they should stay seperate files. Any thoughts?
The text was updated successfully, but these errors were encountered: