Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 12 21:32
    tomyun commented #1030
  • Apr 12 17:15
    sblack-usu commented #1034
  • Apr 12 14:45
    betatim commented #1287
  • Apr 12 07:26
    minrk commented #1287
  • Apr 10 06:45
    betatim commented #1287
  • Apr 10 06:22
    betatim commented #1026
  • Apr 10 06:07
    betatim commented #1288
  • Apr 09 16:38
    manics commented #1026
  • Apr 09 16:38
    manics commented #1026
  • Apr 09 16:38
    manics commented #1026
  • Apr 09 12:07
    sgibson91 edited #230
  • Apr 09 12:05
    sgibson91 edited #230
  • Apr 09 12:04
    sgibson91 opened #230
  • Apr 09 10:02
    sgibson91 commented #1870
  • Apr 09 09:51
    sgibson91 commented #1870
  • Apr 09 08:48
    SylvainCorlay commented #1026
  • Apr 09 08:45
    SylvainCorlay opened #1035
  • Apr 09 06:48
    minrk commented #1026
  • Apr 09 05:39
    SylvainCorlay commented #1026
Tim Head
@betatim
@bmwshop at the end of 2019(?) we operated a public binderhub with GPUs for a demo at NeurIPS. back then you didn't need to modify the base image. there was/is a conda package that lets you install what you need. i made https://github.com/betatim/basic-gpu-binder but haven't used it since then
Tim Head
@betatim
@bmwshop jupyterhub/repo2docker#471 is a thread with a lot of discussion, misunderstandings ( :D ) and links to other things when it comes to using GPUs with repo2docker. someone posted a few days ago saying the basic-gpu-binder approach didn't work (any more). maybe you (with your nvidia hat on) have some ideas for that person
Dhruva-Storz
@Dhruva-Storz
Hey guys, im new here. I hosted some ipython notebooks on binder a few years ago, and after checking in on it recently, the images in the notebooks no longer load. Clicking the images in the jupyter file explorer gives me a 403: forbidden error, stating that the image is not in the root static directory. The only related material I found online has to do with nginx, and I'm quite new to this stuff. Does anyone know any potential causes/fixes to this problem? My repo is https://github.com/Dhruva-Storz/moose-binder . Thanks!
1 reply
Matthias Möller
@mmoelle1

I have created some tutorials for our C++ code using xeus-cling running on https://mybinder.org. The C++ code tries to connect to an external server via port 5000. This seems to be blocked (by xeus-cling? mybinder?, ...?).

The code snippet is as follows

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>
int sockfd = socket(AF_INET, SOCK_STREAM, 0);

struct sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port   = htons(5000); // works for 80 and 8080
inet_pton(AF_INET, "172.217.168.195", &sin.sin_addr);
if (connect(sockfd, (struct sockaddr *) &sin, sizeof(sin)) == -1)
{
    printf("Error connecting: %d (%s)\n", errno, strerror(errno));
} else {
    printf("Connection established\n");
}

Ports 80 and 8080work well. Any help is appreciated.

Sarah Gibson
@sgibson91
@raynamharris Yes, mybinder does block outgoing connections on most ports to prevent abuse. If you can access the server over https instead, I think that should work (caveat, network policy is not my forte! 😂)
Matthias Möller
@mmoelle1
@sgibson91 Thanks, I just double-checked that only port 80 works, 8080 is blocked. Are there any other ports that are not blocked? I need two different network connections (one for a remote compiler pipeline, the other for a simulator pipeline). As a workaround, I fired-up two separate VMs with two different IP addresses that are both accessible via port 80. If mybinder would allow any other port, I could do with a single VM.
1 reply
mriduls
@mriduls:matrix.org
[m]

These ports allow outgoing connections from mybinder.org

    egress:
      tcpPorts:
        - 80 # http
        - 443 # https
        - 9418 # git
        - 873 # rsync
        - 1094 # xroot
        - 1095 # xroot
        - 16286 # Wolfram Engine on-demand licensing

https://github.com/jupyterhub/mybinder.org-deploy/blob/master/mybinder/values.yaml#L45

Martin
@hackfin
Is installing packages (sudo apt-get) no longer allowed from running binders? I get
sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
Tim Head
@betatim
@hackfin we have not supported sudo for several years. if you need it we recommend you placce your own Dockerfile in your repository
Martin
@hackfin
Yes, that did work before.
Well, I can get circumvent the prob by preinstalling all necessary packages from the Dockerfile, but I wanted to keep the 'base' minimal.
Martin
@hackfin
Duh. I just found jupyterhub/mybinder.org-deploy#1818. I guess that would also affect Dockerfile based setups?
Romain Primet
@rprimet
Hi all, is there any doc about the recent revamping of the dev heml chart? (jupyterhub-chart-config-auth-additions for instance).
The old auth and auth/state keys seem to have been replaced by config.JupyterHub.authenticator_class and a matching key but I'm not sure what to do about the old auth/state dict? (I'd like to set auth/state/enabled: True and auth/state/cryptoKey to a random token)
Ah, there's a helpful error message :-) nice!
Romain Primet
@rprimet
sorry for the noise
Romain Primet
@rprimet

Still I'm still not yet understanding the config system changes, if I set up something like

config:
    Authenticator:
      enable_auth_state: true
    CryptKeeper:
      keys:
        - "secret"
    JupyterHub:
      authenticator_class: "GitLabOAuthenticator"
    GitLabOAuthenticator:
      callbackUrl: http://192.168.49.2:30902/hub/oauth_callback
      clientId: "client_id"
      clientSecret: "client_secret"

then in the minikube logs, I get

[C 2021-03-04 14:12:21.101 JupyterHub application:89] Bad config encountered during initialization: The 'authenticator_class' trait of <jupyterhub.app.JupyterHub object at 0x7f286b7eaeb0> instance must be a type, but 'GitLabOAuthenticator' could not be imported
Sarah Gibson
@sgibson91
@rprimet Can you try using just "gitlab" for authenticator_class? Here's my config for BinderHub with GitHub OAuth enabled https://github.com/alan-turing-institute/hub23-deploy/blob/d88a2e21a2f1cf615588416c21ec3762a758c62c/deploy/prod.yaml#L43
Romain Primet
@rprimet
@sgibson91 thanks, that did it! (I was confused by "must be a type") Also, IIUC, the camelCasing of attributes is gone as well?
Sarah Gibson
@sgibson91
Yes I think so - I think that's to make the JupyterHub config consistent with the BinderHub one
Romain Primet
@rprimet
thanks again! @sgibson91
Sarah Gibson
@sgibson91
No worries! :)
jelias1
@jelias1
Hello! New here and to binder so forgive me if this has been answered somewhere else. I am having trouble connecting to an MQTT broker (in AWS) using the paho mqtt client in my notebook. Is outgoing network traffic blocked on Binder?
Sarah Gibson
@sgibson91
@jelias1 yes. We've also recently blocked IP addresses associated with cloud providers as we were having issues with abuse.
jelias1
@jelias1
That is unfortunate, but I understand. Thank you for the quick reply!
Min RK
@minrk
We've recently blocked incoming traffic from datacenters, but not outgoing. My guess is this is the longstanding outgoing port blocking - only a few egress ports are allowed (basically HTTP(s) only with a couple exceptions).
Sarah Gibson
@sgibson91
Ah yes! ☝🏻
Romain Primet
@rprimet

Hi all, any hints on troubleshooting a dev install of binderhub (local bhub / minikube jhub) where after the build, the redirect to the jupyter server results in a redirect loop and accessing the server through the hub (hub/home and then click on 'my server') results in a 404?

The pods seem running, including the single-user server jupyter-username, the logs from the single-user server show some 404s, e.g.

[W 08:26:07.607 NotebookApp] 404 GET /user/username (172.17.0.2) 36.72ms referer=http://192.168.49.2:30902/hub/home

The proxy seems to show the redirect loop, i.e.

08:23:23.410 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.417 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.424 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.432 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.441 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.449 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.458 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.466 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.473 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888
08:23:23.479 [ConfigProxy] debug: PROXY WEB /user/username/?token=token_value to http://172.17.0.7:8888

Nothing in particular about the jupyterhub pod logs excepts a few 404s on global contents (jquery etc.)

I am using an authenticated config, close to the one in #1169 but rebased to match the current config changes on master, which I can paste somewhere but I'm mainly looking for advice on where to look to debug this

Thanks!

ARafik
@ARafik
Hi, please there is a way to add an new apt-repo with the binder grammar ?
Sarah Gibson
@sgibson91
ARafik
@ARafik
Thank you @sgibson91
Erik Sundell
@consideRatio
What is "a binder", is it okay to describe it as a binder-ready git repo?
Sarah Gibson
@sgibson91
@consideRatio In one aspect, yes. I might also describe "a binder" as a shareable, computational environment in the cloud - since a binder-ready git repo could also be described as a repo that follows software best practices. The "launching your project with one click" part is the reward binder gives for following best practices.
Erik Sundell
@consideRatio
Thanks @sgibson91! :tada:
Loic Tetrel
@ltetrel

Hi all :)
I had two questions for you.
1) How can I increase the time for a user launch, before it hits the retry ? For now I am using retries and increasing this to a high number (obviously, it needs to re-try a lot of time before hitting a good scaled time), I also try retry_delay but this is just a delay and not what I need https://binderhub.readthedocs.io/en/latest/reference/launcher.html#id1
2) Is it possible to configure the start script server-side (not on a user repo?), maybe with the config c.Launcher.pre_launch_hook? I need this process to be run inside the user environment, so running python code in hub pod is not possible for example:

  hub:
    baseUrl: /jupyter/
    image:
...
    extraVolumes:
...
    extraVolumeMounts:
...
    extraConfig:
      myExtraConfig: |
        ... python code ....

Thank you!

3 replies
Romain Primet
@rprimet
Hi, I recently had an issue that took me a long time to figure out (mostly by trial and error) -- a missing singleuser/cmd value in the testing local binder / k8s jupyterhub authenticated yaml config file. Apparently that was throwing me in a redirect loop at notebook redirect time. What is the purpose of singleuser/cmd and why is it either missing or not required anymore in the current master? Thanks!
(there is a comment in the docs that says # to make notebook servers aware of hub but that's not much clearer to me :-) )
Thanks again!
Alexander Konovalov
@alex-konovalov
Hi all! I have a question about running R code on Binder. The problem is with installing dependencies for units and rgdal packages, described in rse-standrewscs/distance-binder-demo#1. I can't find where I can specify this.
syn4ps1s
@syn4ps1s

Hi!!, i have a little question... i have a repo with runtime.txt and install.R but I don't have access to /rstudio , the jupyter notebook is created but no access to R. this is happening on my own binder setup.. with is working properly for all python notrebooks.. the building output is different from mybinder.org with the same repo and works properly, I can land into the studio but my own is not.. 404 not found.. my runtime.txt has only this inside : r-3.6-2019-04-12 , and also my install.R

install.packages("tidyverse")
install.packages("rmarkdown")
install.packages("httr")
install.packages("shinydashboard")
install.packages('leaflet')

What could be the problem? I'm kind of lost ... for any advice... thank you!!

syn4ps1s
@syn4ps1s
my installed helm binderhub version is : --version=0.2.0-n465.hb35ec4e
Achintya Rao
@raoofphysics:matrix.org
[m]

Hi folks. Are Dockerfiles for R environments officially deprecated? If not, which is the best place to look for an example Dockerfile for RStudio use?

I see that https://github.com/binder-examples/r/ works (http://mybinder.org/v2/gh/binder-examples/r/master?urlpath=rstudio/) but https://github.com/rocker-org/binder does not (https://mybinder.org/v2/gh/rocker-org/binder/master?urlpath=rstudio/). Specifically the error is:

RStudio Server

The requested page was not found.

Please contact your system administrator for assistance, or click here to go back.

I tried using the Dockerfile from the rocker-org/binder repo (https://github.com/rocker-org/binder/blob/82a50434cddf87eb78ec20279120076ed4763be2/binder/Dockerfile/) with repo2docker but that doesn’t work either. In fact, I can't even open a Jupyter notebook with R (only Python3).

5 replies
Michał Krassowski
@krassowski
Hi everyone! I was looking to revive my binder for https://github.com/krassowski/multi-omics-state-of-the-field I am actually surprised to see that it installs RStudio and IRKernel, while I do not want them installed. I would like just JupyterLab + p7zip + conda packages from environment.yml. I think that IRkernel started conflicting with my package versions (I had just a partial freeze) and also it is taking ages to build for the first time. Can I have JupyterLab on binder without having RStudio and IRKernel?
I mean I do use R, but via rpy2 and not via IRKernel. I would appreciate some info on how binder decides when to install RStudio/IRKernel and how to suppress. From a very uneducated perspective it seems like it is trying to be clever about me environment and seeing that I install R it tries to make me happy, but it actually makes the experience worse for me - is this correct, or is it just that it will install all of it anyways? Or maybe I have some file that causes it?
Michał Krassowski
@krassowski
Or in which repo should I open an issue with feature request "disable automatic install of RStudio/IRkernel"?
Wolf Vollprecht
@wolfv
@krassowski maybe it's the renv.lock file?
especially r.py and _r_base.py
Michał Krassowski
@krassowski
Thank you! It is indeed what I was looking for! However, it seems to work differently to what the code says, so I am clearly still missing something. So the lines https://github.com/jupyterhub/repo2docker/blob/0eb7260f4760ebbaf4cf466bbb0d0be2276f330f/repo2docker/buildpacks/r.py#L117-L141 seem to say that it should only install RStudio if either runtime.txt or DESCRIPTION is present. Neither of those are included in my repo. renv.lock is not in use on binder either, but it should not matter. What am I missing?
Tim Head
@betatim
weird. when i attempt to build your repo it says that it picked the conda buildpack. which is "the right thing to do" and what you expect. but it doesn't explain how rstudio ends up being installed
Tim Head
@betatim
mystery solved: we install RStudio in addition to the packages from the environment.yml when the env includes r-base
Tim Head
@betatim

there is currently no way to tell repo2docker not to do this, mostly because there is no way to tell repo2docker to do this (no conda package for rstudio).

the reason we check for and install irkernel and rstudio if r-base is in the environment is that there is no good way to install a specific version of R without using conda. we thought that there are APT packages from a private PPA that look like you can use them to install a specific version of R but they aren't meant to be used (and hence sometimes break) when you use them to install R=3.5.3 or 3.6.23 or some such.