Obsidian はローカルアプリのため,Notion のようにサービス側の都合に依存しにくく,Claude Code や Codex などの AI Agent とも連携がしやすいです. その一方で,外部から操作したい場合には少し扱いづらく,API 連携は Notion の方が簡単です. 調べているうちに Obsidian container を見つけ,これを利用すると上記が解決できそうなので早速試してみました.
Obsidian container について
Obsidian container は Obsidian の GUI アプリをコンテナ内で起動し,ブラウザからアクセスできるようにするものです. 3000 および 3001 ポートで Listen し,そのポートにアクセスすることでブラウザから Obsidian を利用できるようになります. Obsidian は GUI アプリなので,CLI で動く多くのコンテナイメージより負荷が高いことに注意です.
linuxserver/obsidian
今回は試用ということで以下の manifest を用意し,Kubernetes にデプロイしました. Local REST API が 27123/tcp も利用するのでそれも追加しておきます.
apiVersion: apps/v1
kind: Deployment
metadata:
name: obsidian
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: obsidian
template:
metadata:
labels:
app: obsidian
spec:
containers:
- name: obsidian
image: lscr.io/linuxserver/obsidian:1.12.7
imagePullPolicy: IfNotPresent
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: Asia/Tokyo
ports:
- name: http
containerPort: 3000
- name: https
containerPort: 3001
- name: api
containerPort: 27123
volumeMounts:
- name: config
mountPath: /config
- name: shm
mountPath: /dev/shm
volumes:
- name: config
persistentVolumeClaim:
claimName: obsidian-config
- name: shm
emptyDir:
medium: Memory
sizeLimit: 1Gi
---
apiVersion: v1
kind: Service
metadata:
name: obsidian
spec:
selector:
app: obsidian
ports:
- name: http
port: 3000
targetPort: 3000
- name: https
port: 3001
targetPort: 3001
- name: api
port: 80
targetPort: 27123
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: obsidian-config
namespace: obsidian
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 1Gi
実際にブラウザから Obsidian container へアクセスするとこうなります.

Obsidian container 上で Obsidian を開いたら,Live Sync をインストールして Vault と CouchDB を同期します. その後 Local REST API もインストールします. これで Obsidian の Vault に対して REST API でアクセスできるようになります.
まとめ
Obsidian container を試してみました. Live Sync によってリモートでも,常時アクセス可能な環境を構築できることを確認しました. REST API が利用できるようになったことで,Notion と比較したときのデメリットを解消できました. ある程度難易度はありますが,それ以上に便利だと思います. みなさんもぜひチャレンジしてみてください.