mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-23 21:18:58 +00:00
.. | ||
docker-compose.yml.template | ||
README |
Quick note about running Marginalia Search in a non-docker environment. Beware that this installation mode is more of a proof-of-concept and demonstration that the system is not unhealthily dependent on docker, than a production-ready setup, and is not recommended for production use! The container setup is much more robust and easier to manage. Note: This script only sets up an install directory, and does not build the system. You will need to build the system with "gradlew assemble" before you can run it. Each service is spawned by the same launcher. After building the project with "gradlew assemble", the launcher is put in "code/services-core/single-service-runner/build/distributions/marginalia.tar". This needs to be extracted! Note: The template sets up a sample (in-docker) setup for mariadb and zookeeper. These can also be run outside of docker, but you will need to update the db.properties file and "zookeeper-hosts" in the system.properties file to point to the correct locations/addresses. Running: To launch a process you need to unpack it, and then run the launcher with the appropriate arguments. For example: WMSA_HOME=/path/to/install/dir marginalia control:1 127.0.0.1:7000:7001 127.0.0.2 This command will start the control partition 1 on ports 7000 (HTTP) and 7001 (GRPC), bound to 127.0.0.1, and it will announce its presence to the local zookeeper instance on 127.0.0.2. A working setup needs at all the services * control [ http port is the control GUI ] * query [ http port is the query GUI ] * index [ http port is internal ] * executor [ http port is internal ] Since you will need to manage ports yourself, you must assign distinct ports-pairs to each service. * An index and executor services should exist on the same partition e.g. index:1 and executor:1. The partition number is the last digit of the service name, and should be positive. You can have multiple pairs of index and executor partitions, but the pair should run on the same physical machine with the same install directory. * The query service can use any partition number. * The control service should be on partition 1.