fessctl is a command-line interface (CLI) tool to manage Fess via its Admin API.
Fess is an open-source enterprise search server based on OpenSearch.
fessctl allows developers and operators to automate and script administrative tasks such as:
- Creating or updating crawler configurations
- Managing users and roles
- Starting or stopping scheduled jobs
- Exporting and importing settings
- Monitoring system health
(Currently under development, more features and improvements are on the way. Stay tuned for updates!)
- Python 3.13+
uv(recommended for environment setup)
git clone https://github.com/your-org/fessctl.git
cd fessctl
uv venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
uv pip install -e srcfessctl --helpexport FESS_ACCESS_TOKEN=...
fessctl ping
fessctl user list
fessctl webconfig create --name TestConfig --url https://test.config.com/docker build -t fessctl:latest .You need to provide the following environment variables when running:
- FESS_ENDPOINT: The URL of your Fess server’s API endpoint. (Default:
http://localhost:8080) - FESS_ACCESS_TOKEN: Your access token to authenticate with the Fess API.
Example:
docker run --rm \
-e FESS_ENDPOINT=https://your-fess-server \
-e FESS_ACCESS_TOKEN=your_access_token_here \
fessctl --helpTo run an actual command, for example:
docker run --rm \
-e FESS_ENDPOINT=https://your-fess-server \
-e FESS_ACCESS_TOKEN=your_access_token_here \
fessctl webconfig listThis project is licensed under the Apache License 2.0. See the LICENSE file for details.
Pull requests are welcome! Feel free to open issues or discussions to suggest features, report bugs, or ask questions.