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 <choldg...@gmail.com> 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 <alex.feis...@gmail.com>
> 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 jupyter+unsubscr...@googlegroups.com.
>> To post to this group, send email to jupyter@googlegroups.com.
>> 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 jupyter+unsubscr...@googlegroups.com.
> To post to this group, send email to jupyter@googlegroups.com.
> 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 jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
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.

Reply via email to