Fess does not start

Hey,

I saw Fess at Fosdem and now trying it out, but I am failing with the initial setup.

My setup so far:

  • Debian 11
  • Opensearch 2.5
  • Fess 14.6.0
  • OpenJDK 17

When I start Fess I get

Feb 06 12:40:08 debian-8gb-hel1-1 systemd[1]: Started Fess.
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: org.lastaflute.di.exception.ContainerInitFailureException: Look! Read the message below.
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: Failed to initialize the container.
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: [Path]
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: esclient.xml
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: [Namespace]
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: null
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: [Included by]
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: esflute_config.xml
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: esflute_user.xml
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: esflute_log.xml
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: * * * * * * * * * */
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.throwContainerInitFailureException(LaContainerImpl.java:463)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.init(LaContainerImpl.java:415)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.doInit(LaContainerImpl.java:431)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.init(LaContainerImpl.java:413)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.doInit(LaContainerImpl.java:431)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.init(LaContainerImpl.java:413)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.doInit(LaContainerImpl.java:431)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.init(LaContainerImpl.java:413)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.factory.SingletonLaContainerFactory.init(SingletonLaContainerFactory.java:65)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.web.container.WebLastaContainerInitializer.doInitContainer(WebLastaContainerInitializer.java:81)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.web.container.WebLastaContainerInitializer.initialize(WebLastaContainerInitializer.java:45)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.web.servlet.filter.LastaPrepareFilter.initializeContainer(LastaPrepareFilter.java:137)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.web.servlet.filter.LastaPrepareFilter.init(LastaPrepareFilter.java:94)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:272)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:253)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4609)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5248)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.dbflute.tomcat.TomcatBoot.startServer(TomcatBoot.java:713)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.dbflute.tomcat.TomcatBoot.go(TomcatBoot.java:402)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.dbflute.tomcat.TomcatBoot.bootAwait(TomcatBoot.java:347)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.codelibs.fess.FessBoot.main(FessBoot.java:111)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: Caused by: org.lastaflute.di.core.exception.IllegalMethodRuntimeException: [ESSR0060]Can not configure method(open) of org.codelibs.fess.es.client.SearchEngineClient, because org.codelibs.fess.exception.FessSystemException: Configsync is not available.
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.assembler.AbstractMethodAssembler.invoke(AbstractMethodAssembler.java:61)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.assembler.DefaultInitMethodAssembler.assemble(DefaultInitMethodAssembler.java:40)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:57)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:41)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:35)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.ComponentDefImpl.init(ComponentDefImpl.java:85)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.doInit(LaContainerImpl.java:434)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.lastaflute.di.core.meta.impl.LaContainerImpl.init(LaContainerImpl.java:413)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         ... 42 more
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]: Caused by: org.codelibs.fess.exception.FessSystemException: Configsync is not available.
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.codelibs.fess.es.client.SearchEngineClient.waitForConfigSyncStatus(SearchEngineClient.java:796)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.codelibs.fess.es.client.SearchEngineClient.createIndex(SearchEngineClient.java:470)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.codelibs.fess.es.client.SearchEngineClient.createIndex(SearchEngineClient.java:455)
Feb 06 12:40:22 debian-8gb-hel1-1 fess[6220]:         at org.codelibs.fess.es.client.SearchEngineClient.lambda$open$3(SearchEngineClient.java:323)

In /etc/fess/fess_config.properties is

search_engine.type=default
search_engine.http.url=http://localhost:9200

configured.

I can reach the opensearch also there:

curl http://localhost:9200
{
  "name" : "debian-8gb-hel1-1",
  "cluster_name" : "opensearch",
  "cluster_uuid" : "AHtgqY-TTaqASEuSRmWRJA",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.5.0",
    "build_type" : "deb",
    "build_hash" : "b8a8b6c4d7fc7a7e32eb2cb68ecad8057a4636ad",
    "build_date" : "2023-01-18T23:48:43.426713304Z",
    "build_snapshot" : false,
    "lucene_version" : "9.4.2",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

The logs does say nothing to me, I have no clue what the problem is.

You need to install plugins into OpenSearch.

$ $OPENSEARCH_HOME/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-fess:2.5.0
$ $OPENSEARCH_HOME/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-extension:2.5.0
$ $OPENSEARCH_HOME/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-minhash:2.5.0
$ $OPENSEARCH_HOME/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-configsync:2.5.0