JupyterLab 4.6.3 Data
Free credit available Limited time

JupyterLab hosting Python notebooks ready to run, on a server that staysย on.

Selfhost.dev offers one-click JupyterLab hosting on a dedicated server we provision, secure and run, with numpy, pandas, SciPy, matplotlib and scikit-learn installed, a password sign-in and a home folder that persists. Notebooks keep running after you close the tab.

No token to copy from the logs and no libraries to install.

One click. JupyterLab with the scientific Python stack, behind your password. The template deploys in about fifteen minutes.

+$5.00 added at signup ยท deployment choice preserved ยท no card

What the one click sets up before your first notebook.
In one line

What is JupyterLab hosting?

What it is

JupyterLab is Project Jupyter's web interface for notebooks, code and data. This template runs it with the scientific Python stack on a server of its own.

Who it is for

Analysts, researchers and teachers who want notebooks that keep running and keep their files, from any computer with a browser.

When to use it

When a laptop is too small or too often closed for the work and you would rather not build the server, the proxy and the Python setup yourself.

Server

JupyterLab hosting, set up for you

Hosting JupyterLab yourself means installing Python, JupyterLab and each library, then writing a config file with a password. It listens on 127.0.0.1:8888 until you open it up and put HTTPS in front. It also stops when you close the terminal. Here all of that is done before your first sign-in.

The stack, end to end

Callers

Your browser

Edge

HTTPS

Your project server
Container

JupyterLab

Runs code

Python kernel

Kept

Home folder

To sign in

Your password

JupyterLab by handJupyterLab hosting on Selfhost.dev
Install Python, JupyterLab and every librarynumpy, pandas, SciPy, matplotlib and scikit-learn installed
Write a config file and set a passwordYour own password, set at deploy
Open it beyond 127.0.0.1:8888 and add HTTPSHTTPS on a generated address
Keep it running after you log outA server that stays on
Only your password opens the notebooks and their kernels. Deploy the stack
Container

JupyterLab Docker, already running on HTTPS

JupyterLab Docker guides pull an image from Jupyter Docker Stacks, map port 8888, mount a folder so notebooks survive and copy a token URL out of the terminal. Here the container already runs on HTTPS behind your password, with the scientific stack inside.

No token to copy

You sign in with the password you chose at deploy, typed into the Password or token box.

No volume to mount

Your home folder already persists across restarts and redeploys, packages from pip install --user included.

No port 8888 to publish

JupyterLab answers on its own HTTPS address, so nothing is mapped or opened by hand.

What you need

JupyterLab hosting requirements

JupyterLab hosting here runs on an 8 GB server, the size the console picks for this template, on x86 or ARM. The scientific Python stack runs on its CPU. Choose a password of 12 characters or more. A domain is optional.

What it needs

Server
8 GB, the console's default for JupyterLab; x86 or ARM
Processor
CPU: built for pandas, scikit-learn and plotting
Password
12 characters or more, set at deploy
Domain
Optional; the generated HTTPS address works first
Server size: 8 GB, enough for JupyterLab. Deploy on an 8 GB server
Quickstart

How to start JupyterLab hosting in 3 steps

Launch, sign in, start a notebook.

  1. Launch the template

    Launch opens the JupyterLab template. Choose a password of 12 characters or more and agree to the no-mining terms. Before a first top-up, a platform admin approves it. The template deploys in about fifteen minutes.

  2. Sign in

    Open the HTTPS address the console shows and paste your password into the Password or token box. There is no username.

  3. Start a notebook

    numpy, pandas, SciPy, matplotlib and scikit-learn import straight away. Add more with pip install --user and they stay in your home folder.

Deploy JupyterLabStep 1 starts in the console.
Launch JupyterLab
Billing

JupyterLab hosting cost

JupyterLab hosting is one server, billed by the hour from prepaid credits, with no charge per notebook or per hour of compute. A European 8 GB server costs $0.03/hr, which comes to about $23 a month. The libraries you add cost nothing.

$0.03
/hr, about $23 a month at 730 hours
European 8 GB server, $0.03/hr Deploy JupyterLab
What else you pay for
ItemCost
The JupyterLab template$0
Bandwidth to your notebooks$0, traffic is included in the server price
Optional daily backups+20% of the server price
Python packages you install$0
ServerRAM, cores, diskWhereRateAbout a month
cx33 (recommended)8 GB, 4 cores, 80 GBEurope$0.03/hr$23.36
cax21 (ARM)8 GB, 4 cores, 80 GBEurope$0.04/hr$29.20
cx43 (room to grow)16 GB, 8 cores, 160 GBEurope$0.06/hr$43.22
ccx138 GB, 2 cores, 80 GBUS$0.16/hr$119.28
cpx328 GB, 4 cores, 160 GBSingapore$0.19/hr$135.63

Monthly figures assume 730 hours. The US and Singapore servers need a first top-up.

If your balance reaches zero

With a card on file or a past top-up, JupyterLab keeps running for 5 days after your balance reaches zero. Then it is stopped and kept for 24 hours before it is deleted; a top-up in that time restarts it. After the delete, a copy of the server is kept for 14 days and you can restore the project from the Projects page. We email you when the balance reaches zero and again when it stops. Welcome-credit-only servers are deleted at zero, with a 3-day copy if the project went live.

Price a 16 GB server for bigger dataframes in the calculator, no signup.

Options

JupyterLab hosting vs Google Colab

Google Colab runs your notebook in a session that times out. Files you did not save to Drive go with it. JupyterLab hosting on Selfhost.dev is a server that stays on. Your notebooks, data and installed packages stay where you left them.

Google ColabJupyterLab on Selfhost.dev
SessionsTime out when idle or after a time limitNo timeout; the server stays on
Your filesLost with the session unless saved to DriveKept in your home folder
Packages you installInstalled again every sessionKept, with pip install --user
Where it runsGoogle's shared machinesA dedicated server of your own
Status

JupyterLab: five checks behind every deploy

  • Every service is health-checked every 60 seconds.
  • A stalled deploy is retried automatically, without you starting over.
  • Done means the URL answers, not just that a container started.
  • Locked from the first request. The password you set at deploy is the only way in.
  • You see the release it runs. The console flags Update available when a newer one ships.
~15 min to deploy

The console estimates about fifteen minutes for the JupyterLab template after the server is ready; first-time server provisioning adds time.

Notes

JupyterLab hosting limitations

  1. One password, one workspace. There are no per-user accounts. Everyone with the password shares the same notebooks and kernels, so each person who needs privacy gets a deployment of their own.
  2. The first deploy takes the longest. It pulls a large scientific Python image, which is why the console allows about fifteen minutes.
  3. Keep a copy of your notebooks. The home folder persists across restarts and redeploys. Push notebooks to a repository or download them now and then, so a copy lives beyond this server.

Nothing here in your way? The template deploys in about fifteen minutes.

Launch JupyterLab
Planning

Running notebooks for a class or a team?

Tell us how many people and how big the data is. We reply with the server size we would choose and its monthly cost.

Help

Frequently asked questions

Do you need a GPU for JupyterLab hosting?

Not for most notebooks. pandas, NumPy, SciPy, scikit-learn and matplotlib run on the CPU, which is what our servers provide. Data cleaning, analysis, plotting and classic machine learning all run here with no session limits. Project servers have no GPU, so this template is not built for training large deep learning models.

Which Python libraries does JupyterLab come with?

numpy, pandas, SciPy, matplotlib and scikit-learn are installed and import straight away. Add anything else from a notebook or the terminal with pip install --user. Those packages land in your home folder, so they are still there after a restart or a redeploy instead of disappearing with the session.

How do I sign in to JupyterLab?

There is no username. Open the HTTPS address the console shows and paste the password you set at deploy time into the Password or token box. It is the only credential the notebook server asks for, so pick one of 12 characters or more.

Can I give JupyterLab a bigger server later?

Yes. When notebooks outgrow the server, scale the project up to a bigger server from Project Settings. The console shows the downtime and the new price before you confirm the move. The server stops while it moves, so save running notebooks before you start.

Why might a new JupyterLab wait for approval?

On an organisation that has never topped up, a platform admin approves each new JupyterLab before it starts. While it waits, the name stays reserved and an email tells you the decision. After a top-up, new notebooks start straight away. Crypto mining is banned on every server. To withdraw a request, delete the service.

Can I use my own domain for JupyterLab?

Yes. JupyterLab first answers on a generated HTTPS address. When it is running, open the service's Settings, add one domain you own and set the DNS record shown there. Once the record resolves, your notebooks open on your own domain too.

Notebooks ready to run. A server that stays on.

  • JupyterLab with pandas and scikit-learn, on a server of its own
  • Your password and HTTPS before the first sign-in
  • A European 8 GB server, about $23 a month
Launch JupyterLab

About Selfhost.dev

Selfhost.dev is a managed self hosting platform for developers and small teams. Open source apps and databases on dedicated servers you control, billed by the hour, in six locations across three continents.

Best for: Notebooks beside the apps and databases they read, a browser code editor and managed PostgreSQL, MySQL and Redis.