Debugging your Binder

Are you having problems getting your Binder repository to work? Feel free to ask questions here!

Note: please don’t post in this thread any more. Instead use the http://discourse.jupyter.org/c/questions category for your questions. Thank you :slight_smile:

I think of “a Binder” as a repository on GitHub or GitLab that works on a site like mybinder.org. Is this also what you have in mind?

Yep - I think of “a Binder” as “a repository that’s meant to run on a BinderHub”. (edited the top comment to be a bit more clear)

1 Like

I’m trying to launch app.R on my repo’s shiny branch with Binder: https://github.com/diyadas/vizresume/tree/shiny

And for some reason: https://mybinder.org/v2/gh/diyadas/vizresume/shiny?urlpath=shiny
is failing to build.

I’m basing the URL on the binder example, though I’m not sure it’s correct.

At this point would you recommend trying a Dockerfile instead?

  • I ran a dependency check on the 10 packages I’m loading using miniCRAN’s pkgDep and apparently there are 178 depends and suggests.
  • Is there a way to force it only to install the 72 depends? Or is it doing that by default?
  • It’s hard for me to tell because the buffer on the log (that I can see) isn’t very long. Is there a way to see the full log somewhere?

Thanks very much!

Ahh so the package / dependency management thing is still really tricky IMO. I’m not sure how the R packaging world works to fix that problem :-/ could you past the full error message though?

One idea: some folks in the R community have been playing around with ways to make it easier to create Binder-ready repositories using the Rocker stack of Docker images. I believe that @karthik even threw together a little helper R library to do this:

Wanna follow those instructions and see if that can solve your problem?

Karthik helped me get up and running with a Dockerfile, thanks for the suggestion.

I was wondering if there’s a way to go directly to a Shiny app if I’m going the Docker route, or if my only option is https://mybinder.org/v2/gh/diyadas/vizresume/shiny?urlpath=rstudio and then “Run app.” Extrapolating from the example repo, I think that link would be https://mybinder.org/v2/gh/diyadas/vizresume/shiny?urlpath=shiny but now instead of “failed to build” I get a 404 page.

Thanks.

When you use the standard R setup from repo2docker you can have a link like http://mybinder.org/v2/gh/binder-examples/r/master?urlpath=shiny/bus-dashboard/ that takes you directly to the Shiny app.

Hi, I’m having problems with getting my shiny app to run with the binder.
I was using an example from binder-examples/r github, the building part seems to work, however, I’m getting a Not Found page when I want to run the app https://mybinder.org/v2/gh/MarijaStanojcic/RDatasets/master?urlpath=shiny/APP/

Any advice?
Thanks

My guess would be the way to trigger a call runApp() isn’t compatible with the App directory approach?
The example has the two file method described here and here. Maybe someone else can comment if it only works with the Two-file method?

Thank you for the response. I tried doing this, but it is still not working. I still get Not Found page.

Hi Marja,
I see that you tried to convert it to the two files system. And I see the still 503 error too.
I was going to suggest then you try forking the example and converting it to use your data so you can see when the Shiny dashabord breaks. (Or if it doesn’t break use the code.) However…
I see your fork of the example and the example itself failing to work right now. Albeit this is different than the error you are having. The shiny dashboard opens but it is darkened out and unable to be used.
So you could work on getting your fork to at least work with your code and data up to that point. Since the example has the problem and it hasn’t been changed in 20 days, I think it is something in the infrastructure that is out of the typical users hands that is causing the problem. Or it is my browser. Do you see the example failing to work too?

For me the example also does exactly what @fomightez describes. From looking at the network inspector in my browser I think it is a problem with proxying the websocket.

1 Like

I made a Pull Request to repo2docker which I think will fix this: https://github.com/jupyter/repo2docker/pull/646 if any of you have a moment to test drive this locally that would be great.

I think you’d need to run repo2docker --uid 1000 --user jovyan https://github.com/binder-examples/r to do so. It will take quite a while as it has to compile all of the tidyverse :-/

The change has been deployed. After triggering a rebuild of the repository by hand http://mybinder.org/v2/gh/binder-examples/r/master?urlpath=shiny/bus-dashboard/ now works again for me.

1 Like