docs/teams/git_file_storage.md
This guide shows you how to configure a Git file storage in your Livebook Teams organization, allowing team members to access shared notebooks from a private Git repository inside an app server.
Livebook version requirement {: .info}
Requires Livebook v0.18 or newer.
[email protected]:username/repo-name.git)main)Once configured, the Git file storage will be synced across all team members and Livebook app servers that belong to your Teams organization.
Which SSH private key should I use? {: .tip}
Livebook connects to Git repositories over SSH, so you need to provide a private key with access to the repo.
The recommended way is to create a new SSH key pair and add the public key as a deploy key for your Git repository inside your Git provider (GitHub, GitLab, Bitbucket, etc.), then use the private key for the Livebook configuration.
Livebook only needs read-only access, so when adding the deploy key to your Git repo, you can grant read-only permissions only.
After adding the Git file storage, members and app servers of your Teams organization can access notebooks stored in the repository:
The notebook will open and be ready to use.
It's worth noting that Livebook treats notebooks inside a Git file storage as read-only. That's why you have to "fork" the notebook, which creates a copy. Any changes you make are local to your session and won't affect the original file in the Git repository.
This feature is particularly useful when working inside an app server from your Teams organization and you need to open shared notebooks stored in a Git repository.
Common use cases include:
If your team members need to edit and collaborate on notebooks in their local Livebook instances, use standard Git workflows instead:
Use Git file storage when: You need to access the notebook from an app server, since app servers don't have direct access to your Git repository.
If you want to give someone access to a Livebook app (not edit the notebook):
This allows users to use the app without notebook editing capabilities.
Use Git file storage when: Team members need to open shared notebooks as regular notebooks inside an app server, not as deployed apps.
Your SSH private key is encrypted end-to-end and never accessible to Livebook Teams in plaintext.
Livebook encrypts your SSH private key locally using your Teams key before sending it to Livebook Teams servers. When a Git file storage is added or edited, team members' Livebook instances and app servers receive the encrypted key and decrypt it locally using the same Teams key.
This ensures that only members of your Teams organization can access the private key.