ArchlinuxにしてからノートとしてJoplinを使っていたのですが、別のマークダウンツールにしてみようかなと思い、NoteDiscoveryを見つけました。
実行方法を見てみると、Dockerで実行するということだったので、ちょうど良いと思い、Dockhandで管理してみようと思いました。
私の環境はlinuxなので、Windowsでの環境構築手順ではありません。
# 前提条件
- Dockerがインストールされていること
- Docker Composeが使えること
この記事では、Dockhandの起動手順と、NoteDiscoveryの起動手順を紹介します。
# Dockhandとは
Dockhandは、視覚的にDockerのコンテナなどを管理できるツールです。
最近出たようで、デザインもカッコいいです。
軽量で、メモリ使用量も100MB程度と少ないため、常時起動しても負担が少ないのも魅力です。
# NoteDiscoveryとは
NoteDiscoveryは、自己ホスト型のマークダウンツールです。
こちらも最近出たようで、モダンなデザインです。
# Dockhandを起動するまで
Dockhand自体もDockerで動くので、docker-composeを書いていきます。
mkdir dockhand && cd dockhand
nano docker-compose.yml
docker-compose.ymlの中には、このコードを貼り付けます。
services:
dockhand:
image: fnsys/dockhand:latest
container_name: dockhand
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- dockhand_data:/app/data
volumes:
dockhand_data:
Ctrl + Oで保存し、Enter。そしてCtrl + Xでnanoを終了します。
では、起動してみましょう。
docker compose up -d
起動後は、http://localhost:3000 に入ります。

起動できました。
# Dockhandの設定
管理ページに入ることができたら、Environmentsを設定します。
Containerページに入ると、真ん中にGo to Settingsというボタンがあります。
クリックすると設定に飛び、Add environmentというボタンがあるので、クリックします。

モーダルウィンドウが出てきたら、Nameをつけて設定が良さそうならAddを押します。
Test connectionというボタンを押せば、正しくつながるかがわかります。
一般的な環境の場合はそのままの設定で良いです。
# NoteDiscoveryを起動する
DockhandはStacksの設定もできるので、NoteDiscoveryをDockhandのStacks Createをしてみます。

Stacksページに入ると、今動いているスタックが表示されます。
上の方にCreateというボタンがあるので、クリックします。
モーダルウィンドウが出てくるので、設定していきます。

まずStack nameを決めます。
次に、Compose fileの中にこのコードを貼り付けます。
version: "3.8"
services:
notediscovery:
image: ghcr.io/gamosoft/notediscovery:latest
container_name: notediscovery
ports:
- "8000:8000"
volumes:
- ./data:/app/data
restart: unless-stopped
environment:
- TZ=Asia/Tokyo
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 60s
timeout: 3s
retries: 3
start_period: 5s
そして右下のCreate & Startを押して、起動します。

runningとなっていれば、起動できています。

ログもしっかり見れています。
ポート8000で起動しているので、http://localhost:8000 に入ってみましょう。

しっかりとページが表示されました。

Themeや言語は、左下の設定ボタンから設定できます。

2時間ほど使って文書を書いてみたのですが、プレビュー側の文字の色分けがしっかりとしていて、書いていて楽しいです。
# セキュリティについて
この記事で紹介した設定は、ローカル環境での使用を前提としています。
外部で使いたい場合は、Tailscaleなどのvpnを使って接続することをおすすめします。
インターネットに直接公開することは、セキュリティリスクがあるため推奨しません。
個人利用であれば、ローカルホストでの運用で十分です。
# 感想
Joplinが良くないということを言いたいのではありませんが、NoteDiscoveryは書いていて楽しいです。

少し日本語がおかしいか?と思うところはありますが、理解できるので全く問題ありません。
Dockhandはすごく使いやすいです。
docker-compose.ymlを、そのフォルダに行かなくても編集できるのはとても便利だと感じました。
portainerなどのDocker管理ツールもありますが、Dockhandはシンプルでわかりやすいので、小規模な環境ならおすすめできます。