Closed6

Directusを試してみる

kun432kun432

とりあえずローカルでもdocker composeで動かせるみたいなので、そこから。

https://docs.directus.io/self-hosted/quickstart.html

QuickStartどおりにdocker-compose.yml作ってdocker compose upしたらこうなった。

directus-directus-1  | [Error: SQLITE_CANTOPEN: unable to open database file] {
directus-directus-1  |   errno: 14,
directus-directus-1  |   code: 'SQLITE_CANTOPEN'
directus-directus-1  | }
directus-directus-1 exited with code 1

どうやらこれらしい。Linux + Dockerの場合にはうまくいかない。MacでうまくいくってのはDocker Desktopだからだろうな。

https://github.com/directus/directus/discussions/17823

https://github.com/directus/directus/issues/19156

見てみるとこうなってる。

$ ls -lt
合計 16
drwxr-xr-x 2 root   root   4096 1218 21:12 database
drwxr-xr-x 2 root   root   4096 1218 21:12 extensions
drwxr-xr-x 2 root   root   4096 1218 21:12 uploads
-rw-rw-r-- 1 kun432 kun432  475 1218 21:12 docker-compose.yml

コメント見てると、Dockerのパーミッションの問題でDirectusの問題ではないって書いてある。まあプロダクトそのものの問題か?と言われるとそうではないんだろうけど、単純にDockerイメージの作りがよくないんでは?という気はする。ただなぁ、Docker Desktopがいろいろ良しなにやりすぎてて、逆にLinuxでテストできてないとか動かないとか結構ありそうなのよね・・・

とりあえず自分はこうした。

$ mkdir database extensions uploads

docker-compose.ymlのvolumes周りは書き換えた。volume周りの書き方についてはココが参考になる。

docker-compose.yml
version: "3"
services:
  directus:
    image: directus/directus:10.8.2
    ports:
      - 8055:8055
    volumes:
      - type: bind
        source: ./database
        target: /directus/database
      - type: bind
        source: ./uploads
        target: /directus/uploads
      - type: bind
        source: ./extensions
        target: /directus/extensions
    environment:
      KEY: "◯◯◯◯◯◯◯◯"
      SECRET: "▲▲▲▲▲▲▲▲"
      ADMIN_EMAIL: "hogehoge@example.com"
      ADMIN_PASSWORD: "XXXXXXXX"
      DB_CLIENT: "sqlite3"
      DB_FILENAME: "/directus/database/data.db"
      WEBSOCKETS_ENABLED: true
$ docker compose up

とりあえず問題なく立ち上がった模様。8055ポートにアクセスして以下の画面が表示されて、docker-compose.ymlで設定したadminのメアド・パスワードでログインできればOK。

ログインしたら、左の設定アイコン→Settingsと進んで、Project Nameを適当に変更、Default Languageを"Japanese"に変更しておく。

kun432kun432

以降は以下を参照しながら。

https://techbookfest.org/product/espuKyMSaS6nZKcZBaDUq3?productVariantID=srDx41Lhet3KkXumTvurb5

データモデル

データモデルを作成してみたが、なるほど、Kintoneっぽい感じがする、ってもKintoneそんなに知らんけど。

ワークフロー

Directusにもワークフローはあるが、n8nと組み合わせている。DirectusのワークフローはDirectus内のイベントを拾う、n8nは複雑な処理フローを提議してWebhook APIとして利用するという形、なるほど。

https://docs.directus.io/app/flows.html

というかn8nでもOpenAIとかLangChain対応とかあるのね・・・知らなかった

https://docs.n8n.io/langchain/

kun432kun432

なかなか新鮮。社内のよくある業務フローとか作るのに良さそう。GUIとはいえ誰でもできるか?というとちょっと厳しい気もするけど。もうちょっと触ってみる。

ちょっと前にDokkuとか試してたときも思ったけど、自由に使えるVPS借りるのもありかなぁ。運用したくはないんだけども。

このスクラップは2023/12/19にクローズされました