No token to copy
You sign in with the password you chose at deploy, typed into the Password or token box.
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.
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.
Analysts, researchers and teachers who want notebooks that keep running and keep their files, from any computer with a browser.
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.
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.
Your browser
HTTPS
JupyterLab
Python kernel
Home folder
Your password
| JupyterLab by hand | JupyterLab hosting on Selfhost.dev |
|---|---|
| Install Python, JupyterLab and every library | numpy, pandas, SciPy, matplotlib and scikit-learn installed |
| Write a config file and set a password | Your own password, set at deploy |
| Open it beyond 127.0.0.1:8888 and add HTTPS | HTTPS on a generated address |
| Keep it running after you log out | A server that stays on |
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.
You sign in with the password you chose at deploy, typed into the Password or token box.
Your home folder already persists across restarts and redeploys, packages from pip install --user included.
JupyterLab answers on its own HTTPS address, so nothing is mapped or opened by hand.
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.
Launch, sign in, start a notebook.
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.
Open the HTTPS address the console shows and paste your password into the Password or token box. There is no username.
numpy, pandas, SciPy, matplotlib and scikit-learn import straight away. Add more with pip install --user and they stay in your home folder.
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.
| Item | Cost |
|---|---|
| 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 |
| Server | RAM, cores, disk | Where | Rate | About a month |
|---|---|---|---|---|
cx33 (recommended) | 8 GB, 4 cores, 80 GB | Europe | $0.03/hr | $23.36 |
cax21 (ARM) | 8 GB, 4 cores, 80 GB | Europe | $0.04/hr | $29.20 |
cx43 (room to grow) | 16 GB, 8 cores, 160 GB | Europe | $0.06/hr | $43.22 |
ccx13 | 8 GB, 2 cores, 80 GB | US | $0.16/hr | $119.28 |
cpx32 | 8 GB, 4 cores, 160 GB | Singapore | $0.19/hr | $135.63 |
Monthly figures assume 730 hours. The US and Singapore servers need a first top-up.
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.
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 Colab | JupyterLab on Selfhost.dev | |
|---|---|---|
| Sessions | Time out when idle or after a time limit | No timeout; the server stays on |
| Your files | Lost with the session unless saved to Drive | Kept in your home folder |
| Packages you install | Installed again every session | Kept, with pip install --user |
| Where it runs | Google's shared machines | A dedicated server of your own |
The console estimates about fifteen minutes for the JupyterLab template after the server is ready; first-time server provisioning adds time.
Nothing here in your way? The template deploys in about fifteen minutes.
Launch JupyterLabTell us how many people and how big the data is. We reply with the server size we would choose and its monthly cost.
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.
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.
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.
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.
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.
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.
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.