observability.svc.plus/app/jupyter/README.md
2026-02-01 20:53:55 +08:00

82 lines
2.2 KiB
Markdown

# jupyter notebook
Run jupyter notebook with docker, you have to:
- 1. change the default password in [`.env`](.env): `JUPYTER_TOKEN`
- 2. create data dir with proper permission: `make dir`, owned by `1000:100`
- 3. `make up` to pull up jupyter with docker compose
```bash
cd ~/pigsty/app/jupyter ; make dir up
```
Visit [http://lab.pigsty](http://lab.pigsty) or http://10.10.10.10:8888, the default password is `pigsty`
- [`http://lab.pigsty?token=pigsty`](http://lab.pigsty?token=pigsty)
## Prepare
Create a data directory `/data/jupyter`, with the default uid & gid `1000:100`:
```bash
make dir # mkdir -p /data/jupyter; chown -R 1000:100 /data/jupyter
```
## Connect to Postgres
Use the jupyter terminal to install `psycopg2-binary` & `psycopg2` package.
```bash
pip install psycopg2-binary psycopg2
# install with a mirror
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple psycopg2-binary psycopg2
pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
```
Or installation with `conda`:
```bash
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
```
then use the driver in your notebook
```python
import psycopg2
conn = psycopg2.connect('postgres://dbuser_dba:DBUser.DBA@10.10.10.10:5432/meta')
cursor = conn.cursor()
cursor.execute('SELECT * FROM pg_stat_activity')
for i in cursor.fetchall():
print(i)
```
## Alias
```bash
make up # pull up jupyter with docker compose
make dir # create required /data/jupyter and set owner
make run # launch jupyter with docker
make view # print jupyter access point
make log # tail -f jupyter logs
make info # introspect jupyter with jq
make stop # stop jupyter container
make clean # remove jupyter container
make pull # pull latest jupyter image
make rmi # remove jupyter image
make save # save jupyter image to /tmp/docker/jupyter.tgz
make load # load jupyter image from /tmp/docker/jupyter.tgz
```