Obsidian Vault を PC / iPhone 等からブラウズ&閲覧するビューア。ファイル単位の共有リンク機能付き。
- ポート: 9400(デフォルト)
- 外部公開: Tailscale Funnel 対応
- 初回アクセス時にログインフォーム表示、認証後は Cookie で90日間保持
- Obsidian Vault 配下の全ファイルをブラウズ
- Markdown → HTML レンダリング(テーブル、コードブロック、目次対応)
- ダークテーマ、iPhone 最適化
- ディレクトリ内フィルタ検索
- パンくずナビゲーション
- 📥 DL ボタン(生Markdownダウンロード)
.obsidian, .git 等の隠しディレクトリは非表示
| エンドポイント |
用途 |
GET /api/ls/{path} |
ファイル一覧 |
GET /api/ls/{path}?recursive=true |
再帰的ファイル一覧 |
認証は3通り:
- クエリパラメータ:
?token=xxx
- ヘッダ:
Authorization: Bearer xxx
- Cookie(ブラウザログイン済みの場合)
| エンドポイント |
認証 |
用途 |
GET /api/share?file={path} |
必須 |
共有リンク生成 |
GET /api/shares |
必須 |
共有リンク一覧 |
DELETE /api/shares/{token} |
必須 |
共有リンク削除 |
DELETE /api/shares |
必須 |
共有リンク全削除 |
GET /api/shared/{token} |
不要 |
共有リンクでファイル取得 |
- ブラウザのMarkdown表示画面から「🔗 公開リンク」ボタンで発行可能
- 共有トークンはSQLiteに永続化(
shares.db)
| URL |
表示 |
https://<your-host>/ |
Vault 一覧 |
https://<your-host>/MyVault/ |
Vault 内のフォルダ・ファイル |
https://<your-host>/MyVault/note.md |
レンダリング表示 |
https://<your-host>/MyVault/note.md?raw=1 |
生ファイルDL |
# ファイル一覧
curl "https://<your-host>/api/ls/MyVault?token=xxx"
# 1. ファイル配置
mkdir -p ~/obsidian-viewer
# main.py, requirements.txt を配置
# 2. venv & 依存インストール
cd ~/obsidian-viewer
python3 -m venv venv
venv/bin/pip install -r requirements.txt
# 3. .env 作成
cp .env.sample .env
# OBSIDIAN_API_TOKEN, OBSIDIAN_ROOT 等を設定
# 4. 動作確認
venv/bin/uvicorn main:app --host 0.0.0.0 --port 9400
# 5. systemd 登録(任意)
sudo cp obsidian-viewer.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now obsidian-viewer
# 6. Tailscale Funnel(任意)
sudo tailscale funnel --bg 9400
~/obsidian-viewer/
├── main.py # FastAPI アプリ本体
├── requirements.txt # 依存パッケージ
├── .env # 環境変数(git管理外)
├── .env.sample # .env のテンプレート
├── shares.db # 共有リンクDB(自動生成、git管理外)
├── venv/ # Python仮想環境
├── obsidian-viewer.service # systemd ユニットファイル
└── LICENSE # MIT License
| 変数 |
デフォルト |
説明 |
OBSIDIAN_ROOT |
/mnt/obsidian |
Vault のルートディレクトリ |
OBSIDIAN_API_TOKEN |
(なし) |
API認証トークン(必須) |
FUNNEL_BASE_URL |
(なし) |
Tailscale Funnel の公開URL(共有リンク生成に使用) |
SHARE_DB |
shares.db |
共有リンクDBのパス |
MIT License
気球人🎈note