|
1 | 1 | # jamsocket-jupyter-notebook
|
2 | 2 | Base repo for running Jupyter Notebooks on the Jamsocket platform
|
3 | 3 |
|
4 |
| -## Steps |
5 |
| - |
6 |
| -1. Fork this repository. |
7 |
| -2. Add your notebook(s) to the `/notebook` directory. |
8 |
| -3. Add your notebook's python dependencies to `requirements.txt` (alternatively, if you prefer `pipenv`, add them with `pipenv install` and then run `pipenv run freeze`). |
9 |
| -4. Replace `/notebooks/hello-jamsocket.ipynb` in `Dockerfile` with the path to the notebook you'd like to be automatically loaded. If you want the user to see a file listing of the `/notebooks` directory by default, remove that line entirely. |
10 |
| -5. Run `./freeze.sh` to create a `freeze.txt` file from `requirements.txt`. This pins the version of all of the dependencies of the libraries in `requirements.txt`. |
11 |
| -6. Set your account name as the `JAMSOCKET_ACCOUNT` value in your GitHub secrets. |
12 |
| -7. Generate an access token at [app.jamsocket.com/settings](https://app.jamsocket.com/settings) and set it as the `JAMSOCKET_TOKEN` value in your GitHub secrets. ([Sign up](https://auth.jamsocket.com/signup) for a Jamsocket account if you don’t already have one.) |
13 |
| -8. Push your repo to your GitHub account, and your Jupyter Notebook container will be automatically built and pushed to Jamsocket. |
14 |
| -9. Get a Spawn URL from us. (Open this URL in a browser to start a new notebook instance.) |
| 4 | +## Deploying |
| 5 | + |
| 6 | +1. Log in to [Jamsocket](https://jamsocket.com) and create a new service called `jupyter-notebook`. ([Sign up](https://auth.jamsocket.com/signup) for a Jamsocket account if you don’t already have one. You can do everything listed here on the free plan.) |
| 7 | +2. Reach out to us on [Discord ](https://discord.gg/RFrDbMVKxv) or [by email ](mailto:[email protected]) to ask us to **enable Jamsocket compatibility mode ** for that service. (This will soon be exposed directly in the web UI, but it's a manual step for now.) |
| 8 | +3. Fork this repo as `jupyter-notebook` to your own GitHub account. Note that the name of the repo should match the name of the service, but you can use another name as long as they both match. |
| 9 | +4. Set your Jamsocket account name as the `JAMSOCKET_ACCOUNT` value in your GitHub secrets. |
| 10 | +5. Generate an access token at [app.jamsocket.com/settings](https://app.jamsocket.com/settings) and set it as the `JAMSOCKET_TOKEN` value in your GitHub secrets. |
| 11 | +6. Push your repo to your GitHub account, and your Jupyter Notebook container will be automatically built and pushed to the Jamsocket service you selected. |
| 12 | +7. [Use the Jamsocket API](https://docs.jamsocket.com/concepts/connection-url) to spawn instances of your notebook. It will return a URL that you can use to access the notebook. |
| 13 | + |
| 14 | +## Customizing |
| 15 | + |
| 16 | +You can customize the initial notebook(s) and Python packages as follows: |
| 17 | + |
| 18 | +1. Add your notebook(s) to the `/notebook` directory. |
| 19 | +2. Add your notebook's python dependencies to `requirements.txt` (alternatively, if you prefer `pipenv`, add them with `pipenv install` and then run `pipenv run freeze`). |
| 20 | +3. Replace `/notebooks/hello-jamsocket.ipynb` in `Dockerfile` with the path to the notebook you'd like to be automatically loaded. If you want the user to see a file listing of the `/notebooks` directory by default, remove that line entirely. |
| 21 | +4. Run `./freeze.sh` to create a `freeze.txt` file from `requirements.txt`. This pins the version of all of the dependencies of the libraries in `requirements.txt`. |
| 22 | + |
15 | 23 |
|
16 | 24 | ## To run the jupyter-notebook locally for testing:
|
17 | 25 |
|
|
0 commit comments