nbgallery (notebook gallery) is an enterprise Jupyter notebook sharing and collaboration platform. For an overview, please check out our github.io site.
Tony Hirst published a nice walkthrough of some of the features of nbgallery on his blog.
nbgallery is a Ruby on Rails application. You can run it with the built-in rails server
command or with Rack servers like Puma or Passenger.
The nbgallery application requires a MySQL or MariaDB server. Other SQL-based servers may work but have not been tested. We recommend creating a separate mysql user account for use by the app.
The application also requires an Apache Solr server for full-text indexing. For small to medium instances (small thousands of notebooks and users), the bundled sunspot Solr server may suffice. Larger instances may require a standalone server. See our notes for more detail.
You can install nbgallery on various platforms:
Most configuration settings will should work out of the box, but there are a few things you'll need to set up. See our configuration notes for more detail.
Once everything is configured, you're ready to go! See this page for details on starting up the app and shutting it down.
One of the benefits of nbgallery is its two-way integration with Jupyter. You can launch notebooks from nbgallery into Jupyter with a single click. Within Jupyter, the Gallery menu enables you to save notebooks to nbgallery and submit change requests to other notebook authors. See this page for more information.
If you want to use NBGallery as your central login repository for your JupyterHub, you can configure NBGallery to operate as an OAuth2 provider. This will work for other applications as well, but for a detailed write-up of how it can be connected to JupyterHub, see this page.
Here is some documentation on various features of nbgallery:
- Our notebook recommender system helps users find notebooks that are most relevant to them.
- When integrated with Jupyter, nbgallery can track cell executions to assess whether notebooks are healthy.
- Our notebook review system helps build quality and user confidence through peer review of notebooks.
- The extension system enables you to add custom/proprietary features that are specific to your enterprise.
- Notebook revisions can be tracked in git.
- Notes on computation and cleanup jobs.
- Notes on backing up nbgallery.
Issues and pull requests are welcome. For code contributions, please note that we use rubocop (our config), so please run overcommit --install
in your project directory to activate the git commit hooks.