GitHunt
PU

punchagan/jupyter-fly-deploy

(dumb) Dockerfile based deployment for multiple notebooks to a Fly.io machine

jupyter-fly-deploy

An experimental Dockerfile based method to deploying multiple Jupyter notebooks to a Fly.io machine.

There's no OAuth and user management. Unexpected things could happen if multiple people use the server at the same time.

Usage

  1. Use this repository as a template (button on GitHub) to create your own
    copy of it.

  2. Setup an account on fly.io

  3. Install flyctl

  4. Run `fly auth login``

  5. Run fly launch --generate-name --no-deploy.

    Answer y to use existing config.

  6. Remove project_a/ directories and create separate directories for your own
    notebooks. The directories should contain a requirements.txt if it
    contains a notebook directory. It can be empty if you don't need any
    additional dependencies other than Jupyter notebook.

  7. The Jupyter starts each time with a random token which could be a problem,
    if you'd like to share URLs with others. You could instead set the
    JUPYTER_TOKEN environment variable using the fly secrets set JUPYTER_TOKEN="some-long-secret" command.

  8. Run fly deploy to deploy your changes.

  9. You can share links to individual notebooks using the token you set above, as follows:

    https://<app-name>.fly.dev/notebooks/<dir>/<notebook_name>.ipynb?token=some-long-secret
    
  10. (Optional) You can setup the app to be automatically
    deployed

    on future pushes to GitHub using GitHub actions by creating a Fly token and
    adding it to the repository's settings. The GitHub workflow file is already
    present.

Languages

Shell34.2%Jupyter Notebook26.1%Dockerfile23.2%Python16.5%

Contributors

Created December 11, 2025
Updated December 12, 2025
punchagan/jupyter-fly-deploy | GitHunt