画像・PDF・TXT・メールなどの中身を読み取って検索できるようにするオープンソースのドキュメント整理ツール「Teedy」レビュー
![](https://image.news.livedoor.com/newsimage/stf/9/2/92ed4_88_0b936b91f943405b5e1ab9023aca550a.png)
Teedyはさまざまな種類のファイルの中身を読み取って検索できる状態にしてくれるドキュメント整理ツールです。受信したメールを自動で取り込む設定もできるとのことなので、実際にセルフホストして使い勝手を確かめてみました。
sismics/docs: Lightweight document management system packed with all the features you can expect from big expensive solutions
TeedyのインストールにDockerを利用するので、下記のリンクから自分の環境に合った方法でDockerをインストールします。
Install Docker Engine | Docker Documentation
https://docs.docker.com/engine/install/
今回はDebianを利用するため、下記のコマンドを入力しました。
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
リポジトリの「Examples」にある「Default, using PostgreSQL」をコピーします。
![](https://image.news.livedoor.com/newsimage/stf/8/d/8dbcf_88_4bca8b56a4b1b670d9a3aa4d467d4917.png)
コピーした内容を「docker-compose.yml」という名前で保存し、テキストエディタで開いてポート番号を80番に変更。また、「DOCS_BASE_URL」にTeedyを設置するURLを入力し、管理者のメールアドレスとパスワードを入力します。ドキュメントを見ると「DOCS_DEFAULT_LANGUAGE」で標準で使用する言語を設定できるとのことだったので、「jpn」と入力しました。
![](https://image.news.livedoor.com/newsimage/stf/a/0/a00b9_88_49ae19937eb88a8909611435d3a20b36.png)
下記のコマンドを入力してTeedyを起動。
sudo docker compose up -d
サーバーのアドレスをブラウザに入力するとTeedyのログイン画面が表示されました。ID・パスワードともに「admin」と入力してログインします。
![](https://image.news.livedoor.com/newsimage/stf/b/1/b19d8_88_0ceec4210bc459c658c3ef40a49c0172.png)
初回ログイン時にチュートリアルが行われます。「→」をクリック。
![](https://image.news.livedoor.com/newsimage/stf/f/f/ff865_88_c7e11b3aed07d83786d1cd178f87f084.png)
Teedyでは「ドキュメント」という単位でデータを整理します。それぞれのドキュメントには複数のファイルを添付することが可能とのこと。「→」をクリックします。
![](https://image.news.livedoor.com/newsimage/stf/b/a/ba040_88_ede4e6b17b78663c757a7d5a6773fd81.png)
ファイルは特定のエリアにドラッグ&ドロップすることでアップロード可能です。ドキュメントに対してアップロードするほか、直接アップロードすることでドキュメントを作成することもできます。「→」をクリック。
![](https://image.news.livedoor.com/newsimage/stf/6/d/6d12b_88_79859847621fa110b73a6bb070af5e8d.png)
そして検索欄を使用することで目的のドキュメントを探すことが可能です。「→」をクリック。
![](https://image.news.livedoor.com/newsimage/stf/7/6/769b8_88_39aabbc0f2b1326800bcac9cb75c168b.png)
ドキュメントはタグを付けて整理することもできるとのこと。チェックマークをクリックしてチュートリアルを終了します。
![](https://image.news.livedoor.com/newsimage/stf/c/e/cef99_88_c46ec20ba40c05a2767751717034558b.png)
早速「Add a document」をクリックしてドキュメントを作成しようとしたところ、言語設定が「English」になっているのを発見。
![](https://image.news.livedoor.com/newsimage/stf/8/8/88b38_88_6f2f3774507cf859ca50c82d7d86ee9e.png)
「Settings」の「Configuration」をチェックするとドキュメントの標準言語が英語になっていました。
![](https://image.news.livedoor.com/newsimage/stf/0/6/0631b_88_70537c7e4f908cc4d56da2ae4c502ecf.png)
「日本語」を選択して「Save」をクリックします。
![](https://image.news.livedoor.com/newsimage/stf/1/1/11470_88_534616c223f04457637271c4852e280d.png)
再び「Add a document」をクリックし、タイトルと説明文を入力して「Save」をクリック。
![](https://image.news.livedoor.com/newsimage/stf/3/2/327a5_88_f0cde31c40e988c4cb647bfd2e00055e.png)
今回は下記の4記事の内容をPDF・DOCX・TXT・PNGに書き出してTeedyの検索性能をチェックしてみます。
Appleが「スポーツ賭博」に手を染めようとしているとの指摘 - GIGAZINE
フリーソフトウェアライセンスの「GPL」に違反したとして1億円超の損害賠償を大手通信事業者のOrangeが命じられる - GIGAZINE
NVIDIAがCUDAを他のハードウェア上で実行することを禁止 - GIGAZINE
世界の新車販売の5台に1台がEVとなり石油需要が抑制されていたことが判明、バッテリー価格もどんどん下落中 - GIGAZINE
4つのファイルをドラッグ&ドロップでアップロード。
![](https://image.news.livedoor.com/newsimage/stf/c/1/c1adb_88_ed0f1030eb2bb858327a196e125724ae.png)
PDFファイルの内容を検索欄に入れてみると、ヒット部分がプレビューで表示されました。
![](https://image.news.livedoor.com/newsimage/stf/b/0/b09de_88_a322ca711fb3b18139a8edbb6aa1be9a.png)
一方、DOCXのファイルに含まれている単語を入力しても全くヒットしませんでした。
![](https://image.news.livedoor.com/newsimage/stf/b/e/be918_88_5d8198db96fb93dda663d4fa5359b228.png)
ただのテキストファイルの中身は当然のようにヒット。
![](https://image.news.livedoor.com/newsimage/stf/9/0/90c7a_88_c50a95abd59962e875bb636beb7b4fab.png)
最後のPNGファイルについても見事検索にヒットしました。画像ファイルをアップロードすると自動で文字を読み取ってくれる模様です。
![](https://image.news.livedoor.com/newsimage/stf/e/7/e79c5_88_0d3c7d5efe389efa2c9c1db7b01d8c94.png)
また、Teedyにはメールを自動で取り込む機能が存在しています。「Settings」の「Inbox scanning」をクリック。
![](https://image.news.livedoor.com/newsimage/stf/b/1/b1613_88_3cb5e3a1e40211cbed81b1d7ac83e54c.png)
「Enable inbox scanning」にチェックを入れ、IMAPのホスト名・ユーザー名・パスワードを入力。
![](https://image.news.livedoor.com/newsimage/stf/1/8/18d83_88_da0e07bea8f093b10aae960c0ca390e7.png)
「Test the parameters」をクリックし、接続に成功したら「Save」で保存します。
![](https://image.news.livedoor.com/newsimage/stf/0/0/00179_88_26c7efcad5141ea0066ce7dd10d88777.png)
メールを送信後、しばらく待機するとドキュメントの一覧に表示されました。メール1通ごとに1つのドキュメントとして取り込まれます。
![](https://image.news.livedoor.com/newsimage/stf/a/6/a6055_88_58eb5af342414d2ec243637a918186bc.png)
もちろんメール本文の内容で検索することが可能になっていました。
![](https://image.news.livedoor.com/newsimage/stf/e/7/e7d48_88_1c4e30fa0743b55805ad5a0dcedd052a.png)
なお、メールの取り込みは15分ごとに行われるとのことです。