# How to create a publicly distributed Jupyter Notebook

**URL:** <https://discourse.jupyter.org/t/how-to-create-a-publicly-distributed-jupyter-notebook/13740>\
**Category:** JupyterHub\
**Tags:** help-wanted\
**Created:** [April 5, 2022, 1:44pm UTC](https://discourse.jupyter.org/t/how-to-create-a-publicly-distributed-jupyter-notebook/13740 "2022-04-05T13:44:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Denis\_Bakhvalov](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/denis_bakhvalov/32/6882_2.png) [@Denis\_Bakhvalov](https://discourse.jupyter.org/u/Denis_Bakhvalov)\
**Post date:** [April 5, 2022, 1:44pm UTC](https://discourse.jupyter.org/t/how-to-create-a-publicly-distributed-jupyter-notebook/13740/1 "2022-04-05T13:44:57Z")

</div>

Hello, Jupyter community,

I have previously used Jupyter Notebooks created by others, and now I’m thinking about creating my own publicly distributed Jupyter Notebook. I researched the topic and found a few solutions, but honestly, I got even more confused. So, I’m hoping that you could help me clarify my options.

I have an online course ([Performance Ninja](https://github.com/dendibakh/perf-ninja)), which I would like to turn into a Jupyter Notebook. The course is hosted on Github. There I have the source code for the lab assignments that students need to work on. They need to fix the issue by changing the code and submit (git push) their work. It will be picked up by Github Actions and sent to my remote server, which is appropriately configured for performance benchmarking.

I want to make a Jupyter Notebook, which will be a view into my Github repo. It will provide nice interface, ability to focus on the part of the code that matters (kernel of the benchmark), and have a simple way of submitting solutions for automated benchmarking (just hit Shift-Enter).

I was looking at JupyterHub. It should work nicely, but then the issue is that I have to have a public static IP for the JupyterHub server.

Ideally, I would like to be able to trigger Github Actions workflow from the Jupyter Notebook itself. A user (student) would authenticate themselves with Github, change the code and hit Shift-Enter, which will trigger Github Actions (maybe pushing the code to a private branch).

Anyway, I assume, I’m not the first person facing a similar problem. I would be interested to know what is my best option here?

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [April 6, 2022, 3:09pm UTC](https://discourse.jupyter.org/t/how-to-create-a-publicly-distributed-jupyter-notebook/13740/2 "2022-04-06T15:09:43Z")

</div>

Cross-posted [here](https://stackoverflow.com/q/71766191/8508004).  
@Denis_Bakhvalov , please when cross-posting, reference the places you are posting the same content. Otherwise you can cause multiple persons to reply with the same advice in multiple locations, wasting multiple volunteers time. Also, by noting where it is cross-posted, you help provide others following in your footsteps more options where to look for suggestions.

---

<div class="post-metadata">

**Author:** ![Denis\_Bakhvalov](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/denis_bakhvalov/32/6882_2.png) [@Denis\_Bakhvalov](https://discourse.jupyter.org/u/Denis_Bakhvalov)\
**Post date:** [April 6, 2022, 3:24pm UTC](https://discourse.jupyter.org/t/how-to-create-a-publicly-distributed-jupyter-notebook/13740/3 "2022-04-06T15:24:17Z")

</div>

Yeah, sorry about that. I duplicated the question on SO as I thought that more people would see it.

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [April 6, 2022, 3:36pm UTC](https://discourse.jupyter.org/t/how-to-create-a-publicly-distributed-jupyter-notebook/13740/4 "2022-04-06T15:36:08Z")

</div>

Totally valid. No problem as long as it’s clear so that resources aren’t getting divided.
