FessのDocker環境で本体のイメージを15.9へ固定しても、セットアップが取得するテーマは15.10向けのまま、という組み合わせがありました。CodeSearchとFileSearchの15.9.xブランチでは、テーマも15.9.xから取得するように初期値が修正されています。
安定版では構成リポジトリーも15.9.xを選ぶ
両リポジトリーのmainは15.10の開発系列を追います。mainのイメージ指定だけ15.9へ書き換えると、fess-themesのmainから15.10向けテーマを取得してしまいます。Fess 15.9で新しく環境を用意するなら、修正を含む15.9.xブランチを選びます。
CodeSearchの場合は次のように取得します。DockerとCompose v2、Gitのほか、セットアップで使うcurl、unzipなどを用意します。
git clone --branch 15.9.x https://github.com/codelibs/docker-codesearch.git
cd docker-codesearch
bash ./bin/setup.sh
docker compose up -d
bash ./bin/verify.sh
このブランチでは.envのFESS_VERSION=15.9.0に対応して、テーマ取得用のFESS_THEMES_BRANCHも未設定時に15.9.xになります。検証スクリプトは、生成した設定とコード検索用フィールドの反映を確認します。検索対象リポジトリーの登録とクロールは別途必要です。
FileSearchでは次のように開始します。
git clone --branch 15.9.x https://github.com/codelibs/docker-filesearch.git
cd docker-filesearch
bash ./bin/setup.sh
docker compose up -d
こちらの本体イメージ初期値はghcr.io/codelibs/fess:15.9.0-noble、テーマ取得用の変数名はFESS_THEMES_REFで、未設定時に15.9.xを使います。初期設定とサンプルのクロールは、起動後にREADMEのbin/configure.shの手順で行います。既存の本番データへサンプル設定をそのまま流し込む手順ではありません。
上書き設定は初期値より優先される
両者で変数名が違う点に注意します。明示して実行する場合は次の対応です。
# docker-codesearchの作業ディレクトリーで
FESS_THEMES_BRANCH=15.9.x bash ./bin/setup.sh
# docker-filesearchの作業ディレクトリーで
FESS_THEMES_REF=15.9.x bash ./bin/setup.sh
CodeSearchのFESS_THEMES_BRANCHはスクリプトへ環境変数として渡します。Composeが読む.envに追記するだけでは、その値が必ずsetup.shへ渡るとは限りません。FileSearchはsetup.sh自身が.envを読み込むため、すでにFESS_THEMES_REF=mainを保存している場合はそちらの修正も必要です。
FileSearchのFESS_THEMES_DIRは初期値で未指定です。指定している場合はローカルのテーマをコピーするので、FESS_THEMES_REFの初期値変更は取得元に影響しません。CodeSearchのFESS_THEMES_SKIP_FETCHは初期値が0で、1かつ既存コピーがある場合は再取得しません。
既存環境ではテーマのコピーと実体を確認する
初期値が直っても、稼働中のテーマが自動で入れ替わるわけではありません。構成ブランチと保存済み設定、ローカルの変更を控えたうえで、修正を取り込み、setup.shを再実行します。両スクリプトとも通常はテーマのコピーを置き換えるので、独自変更は先に退避します。
取得後はtheme.ymlのminFessVersionと本体の系列を確認します。PRの検証では、CodeSearchは15.9.11、FileSearchは15.9.6のテーマが取得されていますが、15.9.xは更新されるブランチであり、パッチ番号を永久に固定する設定ではありません。
検索画面を再読み込みし、ログイン、検索、絞り込みを確認します。FileSearchではフォルダーツリーとプレビューも確認します。今回の変更だけで検索インデックスの移行や既存文書の再クロールが完了するわけではなく、旧バージョンからの移行には各READMEの手順も必要です。