SMUI quickstart

SMUI is meant to be run as a Docker container and thus provides an official image.

To quickly get SMUI up and running on your machine, you may use the bundled docker-compose file:

git clone smui
cd smui
docker compose up

Alternatively, you may start the containers manually like this:

# Launch a MariaDB database container (running in the background)
docker run -d \
    -e MYSQL_DATABASE=smui \
    -e MYSQL_USER=smui \
    -e MYSQL_PASSWORD=smui \
    --name smui-mariadb \
# Run SMUI
docker run -p 9000:9000 \
    --link=smui-mariadb \
    -e SMUI_DB_URL=jdbc:mysql://smui-mariadb/smui \

The first call runs a MariaDB container containing the database smui, with the user smui (password: smui) having sufficient permissions on the database. The second call runs the latest version of SMUI, serving its content on http://localhost:9000.


As the database containers from the docker-compose file and the explicit docker invocation persist their data in an internal volume of the docker container, all data will be lost when deleting or recreating the database container.

Before you manage your first search input with SMUI, you need to create a Deployment Channel:

curl -Ss -X PUT -H "Content-Type: application/json" -d '{"name":"ecommerce", "description":"Ecommerce Demo"}' http://localhost:9000/api/v1/solr-index

Now, everything is all set up and you are ready to use SMUI. You now may create and manage search inputs and rules. You can also download the resulting rules.txt file via the SMUI REST interface:

curl -Sso http://localhost:9000/api/v1/allRulesTxtFiles

You will receive a ZIP file ( containing the rules.txt for the configured channel..

That’s a minimum setup to explore the capabilities of SMUI. Visit the configuration guide to learn more about how to properly configure SMUI for your production setup.

Importing a backup SQL

SMUI backup SQL import for SQLite

Use the following command:

sqlite3 smui.db < dump.sql