DockerでObsidianをセルフホストしてブラウザからアクセス可能にする

元記事はこちら:
以下は元記事の翻訳。↓↓↓

Dockerを設定してObsidianをセルフホストする
Obsidianをセルフホストする最大の利点は、GitHub上にある obsidian-remote
コンテナを使ってDockerで簡単に実現できる点です。Windows、macOS、Linux、さらにはRaspberry Piにも対応しており、メインマシンに負荷をかけずにRaspberry Piでホスティングすることも可能です。
必要なコンテナを準備する
- Dockerをダウンロードしてインストール(Windows/macOS/Linux/Raspberry Pi対応)。
- Docker Desktop を起動し、右ペインの「Docker Compose」「Nginx Proxy Manager」など必要なコンテナを取得。
- Dockerのターミナルを開き、以下を実行してフォルダを作成:
mkdir -p ob/{vaults,config}
- 同じターミナルで以下のコマンドを実行し、obsidian-remote コンテナを起動:
docker run -d \
-v ./ob/vaults:/vaults \
-v ./ob/config:/config \
-p 8080:8080 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=America/Los_Angeles \
-e DOCKER_MODS=linuxserver/mods:universal-git \
ghcr.io/sytone/obsidian-remote:latest
TZ(タイムゾーン)などはご自身の環境に合わせて置き換えてください。

docker-compose.yml を使った再利用可能な構成
以下の内容で docker-compose.yml を作成すると、より管理しやすくなります。
version: '3.8'
services:
obsidian:
image: 'ghcr.io/sytone/obsidian-remote:latest'
container_name: obsidian-remote
restart: unless-stopped
ports:
- 8080:8080
- 8443:8443
volumes:
- /home/obsidian/vaults:/vaults
- /home/obsidian/config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- DOCKER_MODS=linuxserver/mods:universal-git
- CUSTOM_PORT=8080
- CUSTOM_HTTPS_PORT=8443
- CUSTOM_USER=
- PASSWORD=
- SUBFOLDER=
保存したら、以下でコンテナを起動します:
docker-compose up -d
これで、WebブラウザからDocker内のObsidianにアクセスできる準備が整いました。

ブラウザ内でのObsidianの使用
見た目も操作感もデスクトップアプリと変わりません。お使いのブラウザ(例:Chrome)でアドレスバーに http://localhost:8080 と入力するとObsidianが読み込まれます。既存アカウントでサインインするか、手早くセットアップして利用開始してください。
インターネット越しに安全にアクセスするには、Nginx Proxy Managerとドメイン、Let’s EncryptのSSLを組み合わせる方法が推奨されています。
動作は非常にスムーズで、画面上のテキストや要素の解像度に多少の改善余地はあるものの、コア機能に不満はありません。Obsidian Syncを使わずにノートをホスティングできるのも大きな利点です。
セルフホストしたObsidianなら、アプリをインストールしていない端末からでもブラウザ経由で即アクセス可能です。ただし、VPNや別ネットワーク環境下でも確実に接続できるよう、プロキシマネージャーやSSL設定をしっかり行ってください。これでプラグインもアップデートも含め、Obsidianの全機能をWeb版でも活用できます。
翻訳ここまで。↑↑↑

使われているDockerfileのソースコードはこちら:
内部的には KasmVNC というソフトウェアでLinux上のVNCサーバーにブラウザからアクセスできるようにしている模様。
こういう便利なものがあるんですね〜!

原理的にはこれとほぼ同じことをしているみたい。