0
0

windowsPCで、Docker上にFessサーバを構築してみた。

Last updated at Posted at 2024-09-11

環境

windows11
jdk 17
docker 27.1.1
Fess 14.15.0
opensearch 2.15.0

注意:Fessのバージョンとopensearchのバージョンは対になっている。
参考
https://fess.codelibs.org/ja/downloads.html

インストールと各初期セットアップ

■jdk 17
https://www.oracle.com/java/technologies/downloads/?er=221886#java17

■docker
https://www.docker.com/products/docker-desktop/
セットアップの参考文献 https://qiita.com/gahoh/items/7b21377b5c9e3ffddf4a
windowsでdockerを稼働させるときはWSL2にチェック入れる事。
インストール後でもWSL2にチェック入れれます。歯車マーク→Resourcesから設定

■Fess
https://github.com/codelibs/docker-fess.git

自分はCドライブ直下にダウンロードしました。
C:\docker-fess-master

docker-fess-masterの中に次の2つのファイルを作成します。
①compose.yaml
②compose-opensearch2.yaml 

作成した中身の編集を行います。

①compose.yaml
services:
  fess01:
    image: ghcr.io/codelibs/fess:14.15.0
    # build: ./playwright # use Playwright
    container_name: fess01
    environment:
      - "SEARCH_ENGINE_HTTP_URL=http://es01:9200"
      - "FESS_DICTIONARY_PATH=${FESS_DICTIONARY_PATH:-/usr/share/opensearch/config/dictionary/}"
      # - "FESS_PLUGINS=fess-webapp-semantic-search:14.15.0 fess-ds-wikipedia:14.15.0"
    ports:
      - "8080:8080"
    networks:
      - esnet
    depends_on:
      - es01
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
    restart: unless-stopped

networks:
  esnet:
    driver: bridge
②compose-opensearch2.yaml 
services:
  es01:
    image: ghcr.io/codelibs/fess-opensearch:2.15.0
    container_name: es01
    environment:
      - node.name=es01
      - discovery.seed_hosts=es01
      - cluster.initial_cluster_manager_nodes=es01
      - cluster.name=fess-es
      - bootstrap.memory_lock=true
      - node.roles=cluster_manager,data,ingest,ml
      - plugins.security.disabled=true
      - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
      - "FESS_DICTIONARY_PATH=/usr/share/opensearch/config/dictionary"
      - OPENSEARCH_INITIAL_ADMIN_PASSWORD=065@JMcZ#aBI5T

    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65535
        hard: 65535
    volumes:
      - esdata01:/usr/share/opensearch/data
      - esdictionary01:/usr/share/opensearch/config/dictionary
    ports:
      - 9200:9200
    networks:
      - esnet
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
    restart: unless-stopped

volumes:
  esdata01:
    driver: local
  esdictionary01:
    driver: local

Fess稼働

コマンドプロンプト画面で打ってください。

cd \docker-fess-master
docker compose -f compose.yaml -f compose-opensearch2.yaml up -d

ダウンロード始まります。
終了後、dockerのメニュー画面でFess立ち上がってるの確認できます。

image.png

port(s)の8080:8080をクリックしたらFess画面へ行けます。
image.png

クロール設定

ネットワーク共有フォルダーの設定を行います。

ログイン
ユーザー名:admin
PW: admin
adminは初期設定です。
http://localhost:8080/ にアクセス
管理者でログイン成功しました。次は管理画面に入ります。
admin
管理
クローラー
ファイルシステム
新規
image.png

検索対象から除外するパス:この設定は検索結果に出てこなくていい拡張子を指定しています。exeなんか、出ても仕方がないですよね。ファイルサイズも大きいのでいりません。

.*\.exe$|.*\.zip$|.*\.war$|.*\.jar$|.*\.tar\.gz$|.*\.tmp$|.*Thumbs\.db$|.*\.lnk$|.*\.accdb$|.*\.msp$|.*\.msi$

深さ:ディレクトリ階層の深さです
最大アクセス数:クロールできる最大数のファイルです。ファイル数が7000ほどのディレクトリをクロールしていたので10000と設定しました。
名前:任意
パス: smb://192.168.0.100/〇〇〇/
smb://に続けてサーバー名を書いてください。最後は/で締めましょう。


次にサーバー名に接続するためのファイル認証設定をします。
image.png
クローラー
ファイル認証
新規作成
ホスト名:サーバーのIPアドレス
ユーザー名:そのサーバーの任意のディレクトリに入れるユーザー名
パスワード:そのサーバーの任意のディレクトリに入れるPW
ファイルクロール設定:認証情報を紐づけたいファイルシステムの名前

クロール開始

image.png
今すぐ開始をクリック

~~クロール中~~

システム情報
ジョブログ
ここで、クロールの稼働状況が見れます。

システム情報
クロール情報
ここで、クロール完了したインデックスが見れます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0