Skip to content
閲覧中:
jupyter lab service化

Ubuntu 24系で、一般ユーザ (yossym) の systemd --user サービスとして JupyterLab を動かす手順です。 uv 仮想環境を利用している前提で記載します。


1. Jupyter Lab のパスワード設定

まず仮想環境を有効化します。

Bash
source ~/venvs/venv/.venv/bin/activate

Jupyter の設定ファイルを作成します。

Bash
jupyter lab --generate-config

作成場所:

Text Only
~/.jupyter/jupyter_lab_config.py

パスワードを設定

以下を実行します。

Bash
jupyter lab password

すると:

Text Only
Enter password:
Verify password:

と聞かれるので入力します。

成功すると:

Text Only
password stored in config dir

と表示されます。


2. 動作確認

まず通常起動して確認します。

Bash
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser

ブラウザから:

Text Only
http://<IPアドレス>:8888

へアクセスします。

例:

Text Only
http://192.168.3.9:8888

3. systemd ユーザーサービス作成

ユーザー用ディレクトリ作成:

Bash
mkdir -p ~/.config/systemd/user

サービスファイル作成

Bash
vim ~/.config/systemd/user/jupyterlab.service

内容:

INI
[Unit]
Description=Jupyter Lab
After=network.target

[Service]
Type=simple

ExecStart=/home/yossym/venvs/venv/.venv/bin/jupyter-lab \
    --no-browser \
    --ip=0.0.0.0 \
    --port=8888

WorkingDirectory=/home/yossym

Restart=always
RestartSec=10

[Install]
WantedBy=default.target

4. systemd ユーザーサービス有効化

Bash
systemctl --user daemon-reload

自動起動有効化:

Bash
systemctl --user enable jupyterlab

起動:

Bash
systemctl --user start jupyterlab

状態確認:

Bash
systemctl --user status jupyterlab

5. ログ確認

リアルタイムログ:

Bash
journalctl --user -u jupyterlab -f

6. ログアウト後も動かしたい場合(重要)

通常の user service はログアウトすると止まります。

常時起動したい場合:

Bash
loginctl enable-linger yossym

これでログアウト後も起動継続します。

確認:

Bash
loginctl show-user yossym

Linger=yes ならOKです。


7. よく使う systemctl コマンド

開始:

Bash
systemctl --user start jupyterlab

停止:

Bash
systemctl --user stop jupyterlab

再起動:

Bash
systemctl --user restart jupyterlab

状態確認:

Bash
systemctl --user status jupyterlab

自動起動解除:

Bash
systemctl --user disable jupyterlab

8. ファイアウォール確認

Ubuntu Server なら ufw 確認。

Bash
sudo ufw status

必要なら:

Bash
sudo ufw allow 8888/tcp

9. セキュリティ注意

LAN内だけなら:

Text Only
--ip=0.0.0.0

でもよいですが、外部公開は危険です。

インターネット公開するなら:

  • HTTPS
  • リバースプロキシ
  • VPN
  • SSHトンネル

を推奨します。

以前設定していた Caddy と組み合わせると HTTPS 化しやすいです。