This page describes the procedures for starting, stopping, and initial setup of the Fess server.
Important
Before starting Fess, you must start OpenSearch. If OpenSearch is not running, Fess will not function correctly.
Startup Methods
The startup procedure varies depending on the installation method.
TAR.GZ Version
Start OpenSearch
To start in the background:
Start Fess
To start in the background:
Note
Startup may take several minutes. You can check the startup status in the log file (logs/fess.log).
ZIP Version (Windows)
Start OpenSearch
Open the OpenSearch installation directory
Double-click
opensearch.batin thebinfolder
Or from Command Prompt:
Start Fess
Open the Fess installation directory
Double-click
fess.batin thebinfolder
Or from Command Prompt:
RPM/DEB Version (chkconfig)
Start OpenSearch:
Start Fess:
Check startup status:
RPM/DEB Version (systemd)
Start OpenSearch:
Start Fess:
Check startup status:
Enable automatic startup:
Docker Version
Note
compose.yaml and compose-opensearch3.yaml are not included with Fess itself. They are provided by the docker-fess project (https://github.com/codelibs/docker-fess); obtain the repository and run the following commands inside the compose directory.
Start using Docker Compose:
Check startup status:
Check logs:
Verify Startup
Verify that Fess has started successfully.
Health Check
Access the following URL using a browser or curl command:
If started successfully, the Fess search screen will be displayed.
Check from command line:
If HTTP/1.1 200 OK is returned, it has started successfully.
Check Logs
Check the startup logs to ensure there are no errors.
TAR.GZ/ZIP version:
RPM/DEB version:
Or use journalctl:
Docker version:
Tip
When startup completes successfully, a startup-completion message like the following is shown on the console and in the log:
Access via Browser
Access the following URLs to verify the web interface.
Search Screen
The Fess search screen will be displayed. In the initial state, no search results will be displayed because no crawl configuration has been performed.
Admin Screen
URL: http://localhost:8080/admin
Default administrator account:
Username:
adminPassword:
admin
Warning
Important Security Notice
You must change the default password. Especially in production environments, it is strongly recommended to change the password immediately after the first login.
Initial Setup
After logging into the admin screen, perform the following initial configuration.
Step 1: Change Administrator Password
Log in to the admin screen (http://localhost:8080/admin)
Click “System” → “User” from the left menu
Click the
adminuserEnter a new password in the [Password] field
Re-enter the same password in the [Password (Confirm)] field
Click the [Update] button
Important
Passwords should meet the following criteria:
8 characters or more (the required minimum length set by
password.min.length)Combination of uppercase letters, lowercase letters, numbers, and symbols
Not easily guessed
By default, only the minimum length (8 characters) is required; a combination of character types is not enforced. Character-type requirements can be enabled with settings such as password.require.uppercase.
Step 2: Create Crawl Configuration
Create a configuration to crawl target sites or file systems.
Click “Crawler” → “Web” from the left menu
Click the “New” button
Enter required information:
Name: Name of the crawl configuration (e.g., Company Website)
URL: Target URL for crawling (e.g., https://www.example.com/). To specify multiple URLs, enter one URL per line
Max Access Count: Maximum number of documents to crawl (optional)
Interval: Wait time between accesses (milliseconds; default:
10000)
Note
Other items (such as user agent, number of threads, and depth) use their default values when left blank.
Click the “Create” button
Step 3: Execute Crawl
Click “System” → “Scheduler” from the left menu
Open the [Default Crawler] job and click the “Start Now” button
Wait for the crawl to complete (progress can be checked on the dashboard)
Step 4: Verify Search
Access the search screen (http://localhost:8080/)
Enter a search keyword
Verify that search results are displayed
Note
Crawling may take time. For large-scale sites, it may take from several hours to several days.
Other Recommended Settings
For production environments, consider the following settings.
Main Settings via Environment Variables
Settings such as the port number, JVM heap size, and the OpenSearch connection URL can be changed via environment variables. Edit bin/fess.in.sh for the TAR.GZ edition, /etc/sysconfig/fess for the RPM edition, and /etc/default/fess for the DEB edition. A restart of Fess is required after making changes.
| Environment Variable | Default | Description |
|---|---|---|
FESS_PORT | 8080 | The HTTP port that Fess listens on. |
FESS_HEAP_SIZE | (unset) | JVM heap size. Sets the same value for the minimum and maximum. When unset, a minimum of 256m and a maximum of 2g are used (the Windows ZIP edition uses a maximum of 1g); the RPM/DEB edition uses 512m. |
SEARCH_ENGINE_HTTP_URL | (unset) | URL of the OpenSearch to connect to. When unset, the built-in default http://localhost:9201 is used. Change this when OpenSearch runs on a different port or host (the Linux Installation (Detailed Procedure) procedure sets it to http://localhost:9200 to match the OpenSearch listening port). The RPM/DEB edition sets http://localhost:9200 by default via the package environment file. |
FESS_LOG_LEVEL | warn | Log level of Fess. |
Note
The Windows ZIP edition’s bin\fess.in.bat does not read these environment variables (except the proxy-related ones). The values are written directly in the file, so edit bin\fess.in.bat directly to change them.
Configure Mail Server
To receive failure notifications and similar messages by email, configure the SMTP server and the notification recipient address.
In the config file
app/WEB-INF/classes/fess_env.properties, specify the SMTP server host and port inmail.smtp.server.main.host.and.port(default:localhost:25). A restart of Fess is required after the change.In the admin UI, click [System] → [General] in the left menu.
Enter the recipient email address in the [Notification Mail] field.
Click the [Update] button.
You can verify that mail is sent correctly with the [Send Test Mail] button.
Configure Time Zone
Fess uses the server’s (OS / JVM) time zone. There is no setting to change the time zone in the admin UI. To change it, change the OS time zone setting, or add the JVM option -Duser.timezone=Asia/Tokyo to FESS_JAVA_OPTS in bin/fess.in.sh (on Windows, bin\fess.in.bat).
Adjust Log Level
In production, you can adjust the log level to reduce disk usage.
The overall log level of Fess can be changed with the FESS_LOG_LEVEL environment variable (default: warn). To control individual loggers in detail, edit the config file app/WEB-INF/classes/log4j2.xml. Crawling, suggest, and thumbnail generation run as separate processes, so configure their log levels individually in app/WEB-INF/env/{crawler,suggest,thumbnail}/resources/log4j2.xml.
See Fess Administrator Guide for details.
Shutdown Methods
TAR.GZ/ZIP Version
Stop Fess
Kill the process:
Or, stop from the console with Ctrl+C (if running in the foreground).
Stop OpenSearch:
RPM/DEB Version (chkconfig)
Stop Fess:
Stop OpenSearch:
RPM/DEB Version (systemd)
Stop Fess:
Stop OpenSearch:
Docker Version
Stop containers:
Stop and remove containers:
Warning
To also delete volumes with the down command, add the -v option. In this case, all data will be deleted, so use with caution.
Restart Methods
TAR.GZ/ZIP Version
Stop and then start.
RPM/DEB Version
chkconfig:
systemd:
Docker Version
Troubleshooting
Won’t Start
Verify OpenSearch is running
If OpenSearch is not running, start OpenSearch first.
Check for port conflicts
If port 8080 is already in use, change the port number.
TAR.GZ edition: change
FESS_PORTinbin/fess.in.shZIP edition (Windows): edit
-Dfess.port=8080directly inbin\fess.in.batRPM edition: change
FESS_PORTin/etc/sysconfig/fessDEB edition: change
FESS_PORTin/etc/default/fess
Check logs
Identify the problem from error messages.
Verify Java version
Verify that Java 21 or later is installed.
For detailed troubleshooting, refer to Troubleshooting.
Next Steps
After Fess has started successfully, refer to the following documentation to begin operation:
Fess Administrator Guide - Details on crawl configuration, search settings, and system settings
Security Configuration - Security configuration for production environments
Troubleshooting - Common problems and solutions
Upgrade Procedure - Version upgrade procedures
Uninstallation Procedure - Uninstall procedures