Expose a running notebook online from home?

I have a notebook that has a main loop in it and is always running. I want to make it available to some friends through the internet but I don’t know how to do it safely. I don’t want to open up any vulnerabilities on my home network. Here’s what I was thinking:

  1. get a small desktop I don’t use for anything else
  2. install ubuntu
  3. install docker
  4. in a docker image install JupyterHub (probably just use Docker Hub)
  5. setup logins for the JupyterHub for specific people
  6. put my notebook in the container of course.
  7. run it on a certain port
  8. enable port forwarding on the home router
  9. give people my routers ip and the port

I’ve never done anything like this before. What do you think?

I could run it on a digital ocean droplet, but if its safe to do it from my home, why not, I’ve got an extra computer I can use.

What are your thoughts? is there a better solution altogether? has this been done before?