ijavascript icon indicating copy to clipboard operation
ijavascript copied to clipboard

Can you provide a dockerized image of this, published on docker hub?

Open djangofan opened this issue 6 years ago • 10 comments

Can you provide a dockerized image of this, published on docker hub?

Similar to : https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html

Just want something more user friendly where I can just launch with docker-compose up -d with a docker-compose.yml like this:

version: "3" services:

  jupyter:
    image: n-riesco/ijavascript-notebook:latest
    ports:
      - "10000:8888"
    links:
      - postgres
    volumes:
      - "/Users/me/Docker/ijavascript-jupyter/work:/home/n-riesco/work"

djangofan avatar May 24 '19 16:05 djangofan

I don't have a lot of time to spare at the moment, but I'll look into it.

It should be a straight-forward job, since we already have the Dockerfile here (thanks to @parmentelat ).

n-riesco avatar May 24 '19 23:05 n-riesco

Take a look at the repository joequant/bitquant and the image joequant/bitstation on dockerhub

It's a repository with a lot of bells and whistles including ijavascript

joequant avatar Jul 02 '19 22:07 joequant

The docker hub repo joequant/bitstation Dockerfile makes no mention of Javascript and so if it supports Javascript, it is not at all obvious (in the way that jupyter-docker-stacks makes it obvious what it supports). That being the case, I hope n-riesco might glean helpful info from it, towards making a Dockerized ijavascript ?

djangofan avatar Jul 02 '19 22:07 djangofan

Seems the docker file won't work with mybinder.org. Notebook started without javascript kernel.

And when test with most recent 2 releases from docker build, it stuck at: sh -c node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

joejiang avatar Nov 25 '19 04:11 joejiang

Has there been any movement on this. It would be very convenient to build this into the CI pipeline

nishtahir avatar Dec 07 '21 22:12 nishtahir

@nishtahir No, sorry, I'll bump it up on my TODO list.

n-riesco avatar Dec 08 '21 10:12 n-riesco

In looking into this a bit, I found a couple points:

There are a few instances that have iJavascript referenced on hub.docker.com, the biggest one being datainpoint/ijavascript-notebook

This works really well, but is referencing a version of jupyterlab that is about 2 years old now.

(You can see from the Dockerfile here: https://hub.docker.com/r/datainpoint/ijavascript-notebook/Dockerfile)

I tried updating the image to work with a newer version of jupyterlab, but it seems that it uses tslab - and when it compiles it has a problem with libzmq3 that I just couldn't get around. (It was missing cmake and curl, and kept having a problem with symbols similar to this issue here)

If at all helpful, I made a newer version of a docker image that is up to date (as of Nov 21st, 2022 at least), and fixes the incompatabilities with myBinder - a way for others to try out jupyterlab with iJavaScript without having to install the whole lab.

Can find the docker hub instance here: https://hub.docker.com/r/darkbluestudios/jupyter-ijavascript-utils

Or you can use my-binder and give it a whirl here:

Plain: Binder:what can I do with this

Pre-loading the example.ipynb Binder:what can I do with this

More details on #273

paulroth3d avatar Nov 21 '22 23:11 paulroth3d

hi

as compared to the patchy Dockerfile that I had to use a while when this discussion was started, I recently had a chance to check that the hack is no longer needed, and I could build a working image like so:

  • starting from a recent e.g. minimal-notebook as exposed by the jupyter docker-stacks thingy
  • and adding the following in my Dockerfile
RUN true \
 && apt-get update --yes \
 && apt-get install --yes nodejs npm \
 && npm install -g --unsafe-perm ijavascript \
 && ijsinstall --install=global \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

# somehow node won't find stuff installed by npm, this band-aid will help
ENV NODE_PATH="/opt/conda/lib/node_modules/"

I have not had a chance to check whether the latest setting of NODE_PATH is still needed, but I can tell this recipe works for me at this point

parmentelat avatar Nov 22 '22 10:11 parmentelat