I have a similar problem to Alex (a small team, limited dev resources, limited experience in front end dev, etc. and about 10 users who consume the output). I note that Alex mentioned *JupyterHub*. I would imagine this is a very common problem. I am jealous of R/Shiny for this kind of workflow.
I have just started using `appmode` and it is pretty nice. This is what I do: - In development, I use JupyterHub and DockerSpawner to spin up Jupyter singleuser servers (e.g., I develop on an image called mysingleuserserver). - When I want to release a notebook to prod, I just git pull it over on the JupyterHub server to /srv/jupyterhub/home/prod (a user named "prod"). - For the end users: I don't want the user to need to interact with JupyterHub because then the user has to 1) log into JupyterHub, and 2) Spawn a server, and 3) then apply the `babeurl/apps/foo.ipynb` link in their browser. This is too clunky for a non-technical user. So for prod, I spin up a single user server (docker run --detach --name appmodesrv --restart always -v /srv/jupyterhub/home/prod:/tmp/working -w=/tmp/working -p 8888:8888 -it mysingleuserserver jupyter notebook --no-browser --allow-root --ip="0.0.0.0" --notebook-dir=/tmp/working --NotebookApp.token=''"). Then the users just point to mydomain:8888:/app/MyApp1.ipynb. All good! On Wed, Apr 17, 2019 at 11:05 AM Chris Holdgraf <[email protected]> wrote: > Check out Voila! ( https://github.com/QuantStack/voila) I bet that you'd > find it interesting - it's quite similar to app mode :-) > > On Wed, Apr 17, 2019 at 6:54 AM Alexander Feiszli <[email protected]> > wrote: > >> Hello, >> >> At my org we are looking to implement Jupyter notebooks in production as >> sort of "mini-apps" for small groups of end users. The idea is that the >> data scientists can develop in Jupyterhub like an IDE and then push a >> notebook into a CICD workflow, and then out pops a production version that >> is accessible by a particular group of users. The reason for this is that >> the data scientists are not app developers, they do not want to write >> webapps, just work on their algorithms, and their end users are very small >> groups, maybe 6-12 internal users, so it is unnecessary to have a >> development team devoted to making nice looking apps for every algorithm >> they write. We just need a mechanism by which the end user can provide >> input data, it gets transformed by the notebook, generates some >> charts/graphs, and then they receive transformed output data. >> >> For the end users, they should not be able to modify or create new >> notebooks, simply run a single notebook. For that reason we are looking at >> the "appmode" plugin (https://github.com/oschuett/appmode). The next >> thing we would like to do is have the production URL redirect to the >> running "appmode" version of the notebook. In addition, the production >> notebook server should basically just have all the other endpoints shut off >> or restricted, so that only this single "appmode" page is accessible. >> >> Can someone point me in the right direction for how I could modify a >> notebook server to have requests to the base url redirect to this appmode >> page, and how to restrict or turn off the other endpoints? I am a bit lost >> but guessing I will need to modify the handlers here: >> https://github.com/jupyter/notebook/blob/master/notebook/notebook/handlers.py >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Project Jupyter" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jupyter/d290d0dd-151e-4af0-a59c-e3cd38f78ccf%40googlegroups.com >> <https://groups.google.com/d/msgid/jupyter/d290d0dd-151e-4af0-a59c-e3cd38f78ccf%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google Groups > "Project Jupyter" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jupyter/CAD7kTDF4VSFOZMbip6oizN4FUiNyg9AbMq_o1SiNfDWTXqeCdg%40mail.gmail.com > <https://groups.google.com/d/msgid/jupyter/CAD7kTDF4VSFOZMbip6oizN4FUiNyg9AbMq_o1SiNfDWTXqeCdg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/CAG57zoUQubGL6nPtD75FKkjgtnA-czcijXQJ4GtbZRQ8QyN9sQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
