Giter Club home page Giter Club logo

Comments (8)

andrewosh avatar andrewosh commented on July 30, 2024 1

@arokem yep, the current base image is here https://github.com/binder-project/binder/blob/master/images/base/, but in the 1.0 release they're all going to be in the binder-build-core module at https://github.com/binder-project/binder-build-core/tree/master/images/python (docs on all that very soon)

from binder.

arokem avatar arokem commented on July 30, 2024

Does this work for you?

https://github.com/arokem/white-matter-matters/blob/master/Dockerfile

from binder.

gregcaporaso avatar gregcaporaso commented on July 30, 2024

It looks like this adds a xvfb magic command - could you point me to an example of where that's being used? Also, it sounds like I'd have to modify the content of my notebooks for this - is that right? I'm hoping to not have to do it (I don't have to for Travis), so this solution might not work for me.

Thanks a lot for the help!

from binder.

arokem avatar arokem commented on July 30, 2024

Yes, you would have to modify the notebook, to use the xvfb magic.

I just created a relatively small example: https://github.com/arokem/xvfb-binder

I guess another option is to set an environment variable ('USE_XVFB') and make sure that the underlying visualization code checks to see whether to use xvfbwrapper (see here for a decorator that does that: https://github.com/nipy/dipy/blob/master/dipy/testing/decorators.py#L58).

How do you make this work on Travis?

from binder.

gregcaporaso avatar gregcaporaso commented on July 30, 2024

Here's what I'm doing with travis - basically launching the xvfb process, but that script is not available in the binder-base docker file so I need to either get one in there, or come up with another way to launch the process.

Do you happen to have the Dockerfile for binder-base-headless? I'm curious to see what that one is doing, as it sounds relevant.

I'll post back here if I get this sorted out. Thanks again for the help!

from binder.

andrewosh avatar andrewosh commented on July 30, 2024

@gregcaporaso sorry for not responding to this thread earlier. Hopefully @arokem's solution worked for you, but just in case you were still experimenting, the binder-base-headless image is likely not the right way to go, as that was just a small experiment of mine and will not work in the production version.

If you're writing a custom dockerfile that needs to reference a script, that script should be available in the home/main/notebooks directory during the build process. Have you tried that approach?

Not entirely related, but we're going add support for a larger variety of base images in the 1.0 release, so that should make it more straightforward to write custom Dockerfiles, as the process is pretty opaque right now.

from binder.

arokem avatar arokem commented on July 30, 2024

@andrewosh : while we're at it, could you please point to where the base images' Dockerfiles are stored? I haven't been able to find them.

from binder.

gregcaporaso avatar gregcaporaso commented on July 30, 2024

Thanks for the reply @andrewosh. I think I'm good with getting a script into the image - I still haven't been able to get xvfb running though (but I'm now able to reproduce the issue and test fixes locally, so that should get me moving toward solving it). Do you have a timeline for 1.0?

from binder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.