-
Notifications
You must be signed in to change notification settings - Fork 78
JupyterLab on Scalingo #3548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
JupyterLab on Scalingo #3548
Changes from 1 commit
b02d79c
253cb5f
9a59a0a
be5d2af
151cfa0
360e674
e8cb9dd
26524e7
5c6b636
6ae04ff
46ea783
e6cca38
10343b2
145c730
5f2a9fc
180870b
8b8a0fc
37b1e84
395b0c7
df76791
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,200 @@ | ||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||
| title: Getting Started with Jupyter Notebook on Scalingo | ||||||||||||||||||||||||||||||
| modified_at: 2025-11-25 12:00:00 | ||||||||||||||||||||||||||||||
| tags: tutorial jupyter notebook | ||||||||||||||||||||||||||||||
| index: 14 | ||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| Jupyter Notebook is an open-source web application that allows you to create | ||||||||||||||||||||||||||||||
| and share documents containing live code, equations, visualizations, and | ||||||||||||||||||||||||||||||
| narrative text. | ||||||||||||||||||||||||||||||
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
Amyti marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||
| ## Planning your Deployment | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
Amyti marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||
| By default, Jupyter Notebook stores notebooks on the local filesystem. Since | ||||||||||||||||||||||||||||||
| Scalingo's filesystem is ephemeral, you'll have to provision a | ||||||||||||||||||||||||||||||
| [Scalingo for PostgreSQL®][db-postgresql] addon to persist your notebooks. We | ||||||||||||||||||||||||||||||
| usually advise to start with a Scalingo for PostgreSQL® Starter 512 addon, and | ||||||||||||||||||||||||||||||
| upgrade to a more powerful plan later if need be. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
| By default, Jupyter Notebook stores notebooks on the local filesystem. Since | |
| Scalingo's filesystem is ephemeral, you'll have to provision a | |
| [Scalingo for PostgreSQL®][db-postgresql] addon to persist your notebooks. We | |
| usually advise to start with a Scalingo for PostgreSQL® Starter 512 addon, and | |
| upgrade to a more powerful plan later if need be. | |
| - By default, Jupyter Notebook stores notebooks on the local filesystem. Since | |
| Scalingo's [filesystem is ephemeral][fs], we can't rely on it. To circumvent | |
| this, and ensure persistence, we suggest to leverage [`pgcontents`][pgcontents] | |
| backed by a [Scalingo for PostgreSQL®][db-postgresql] addon. We usually advise | |
| to start with a Scalingo for PostgreSQL® Starter 512 addon, and upgrade to a | |
| more powerful plan later if need be. Doing so ensures: | |
| - Notebooks survive application restarts. | |
| - Notebooks benefit from Scalingo's automated database backups. | |
| - No data loss due to Scalingo's ephemeral filesystem. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Depending on several factors such as the size of your datasets, the complexity | |
| of your computations, and the number of notebooks you run at the same time, | |
| Jupyter Notebook can consume a lot of RAM. | |
| - Depending on several factors such as the size of your datasets, the complexity | |
| of your computations, and the number of notebooks you run at the same time, | |
| Jupyter Notebook can consume a lot of RAM. |
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frzk marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 5. Set a **mandatory** environment variables: | |
| Set the password to access Jupyter Notebook: | |
| 5. Set the password to access Jupyter Notebook: |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We try to avoid future when not necessary:
| This variable will set your UID for your scalingo postgresql account. | |
| Allows to specify the PostgreSQL account UID. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We really don't want user to mess with this one ^^
| - **`DATABASE_URL`** (automatically set)\\ | |
| This variable is automatically set when you provision a Scalingo for | |
| PostgreSQL® addon. It is used to store notebooks persistently in the | |
| database. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest to remove this in favor of further explanations at the beginning of the page.
| ## Persistent Storage | |
| By default, notebooks are stored in a PostgreSQL database to ensure persistence | |
| across container restarts and redeployments. This is achieved using | |
| [pgcontents][pgcontents], a Postgres-backed storage system for Jupyter. | |
| This means: | |
| - Notebooks survive application restarts | |
| - Notebooks benefit from Scalingo's automated database backups | |
| - No data loss due to Scalingo's ephemeral filesystem |
Amyti marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| [jupyter-notebook-persistence]: https://github.com/Amyti/jupyter-notebook-persistence | |
| [pgcontents]: https://github.com/quantopian/pgcontents | |
| [db-postgresql]: https://doc.scalingo.com/databases/postgresql/getting-started/provisioning | |
| [dashboard]: https://dashboard.scalingo.com/apps/ | |
| [jupyter-notebook-persistence]: https://github.com/Amyti/jupyter-notebook-persistence | |
| [jupyter-s3]: https://github.com/cloudbutton/s3contents | |
| [pgcontents]: https://github.com/quantopian/pgcontents | |
| [dashboard]: https://dashboard.scalingo.com/apps/ | |
| [db-postgresql]: {% post_url databases/postgresql/about/2000-01-01-overview %} | |
| [fs]: {% post_url platform/app/2000-01-01-filesystem %} |
Uh oh!
There was an error while loading. Please reload this page.