ファイルサーバーはこれまでSambaを用いていたが、最近不安定だったことから、S3互換のあるminIOに置き換え、いろいろな使い方を考案しようと思う
今回すること
minIOをdockerで建てる
Nextcloudのストレージとして活用する。
FessでminIOに入れた書類を検索できるようにする
なお、それぞれtailscaleで接続することを目標としている。
なぜminIOなのか
SambaよりS3のほうが、コマンドによってファイルを操作しやすく、また、多くのOSSのバックエンドとしてS3が利用できるようになっていることからminIOを利用する。
特に今回の場合、ファイル操作に対して課金されないことから、より柔軟な活用ができると考えられる。
minIOをdockerで建てる
|
|
今回は筆者のhddgreen
(ただ単に緑色のシールが貼ってあるだけのHDD)をminIOに使用する。
コマンドはこれだけで立ち上がる。root のユーザーもパスワードも、指定しなければadmin123
らしい。
minioのdockerには公式のものとquayから配信されているものがあるが、なぜだかWebUIが少し異なり、quayのほうがわかりやすかったので今回はQuayのものを利用する。
Nextcloudのストレージにしてみる
Access Keysから
Access keys
とSecret Keys
を取得する。ReadとWriteを両方許可しておくこと
NextcloudはSnapから簡単にインストールできる
|
|
Nextcloudのデフォルトportは8080なので、そこにアクセス。
初期設定をいろいろ済ませて
上からBucketの名前、Ipアドレス(今回は諸事情によりtailscale上のIp、localhost
でも可)、Port(先程のminIOの場合、9000)、下の2つにAccess keyとsecret keyを入れて完成
今回はTailscale上からのみアクセスする前提なのでSSLは無効化した。またパス形式を有効にしておく必要がある。
これでマウントできた。
Fessも接続する
Fessもdockerでインストールする。
公式Gitにある通りにインストール。
|
|
http://(ホストip):8080/admin
にアクセス。
初期ユーザー名、パスワードはともにadmin
minIOをストレージとして使えるようにするために、ログインして管理画面からシステム→全般→ストレージ
とする。
ここもエンドポイントをhttp://(ホストip):9000
にしてバケットを指定。
クローラー→ファイルシステム
とする。
|
|
これで定期的にクロールされる。
終わりに
sambaよりコマンドで操作しやすく、また、S3コマンドもそのまま活用できるため扱いやすい。
おまけ
Tailscaleで大容量のファイルの送受信を行うとcpuをめちゃめちゃ食うということが言われており、たしかに結構食べる。想定よりも少しCpuを強めにサーバーを構築したほうが良さそうだ。