MarginaliaSearch/run/readme.md

49 lines
1.4 KiB
Markdown
Raw Normal View History

2023-03-04 13:35:50 +00:00
# Run
When developing locally, this directory will contain run-time data required for
the search engine. In a clean check-out, it only contains the tools required to
bootstrap this directory structure.
## Set up
While the system is designed to run bare metal in production,
for local development, you're strongly encouraged to use docker
or podman.
2023-03-04 15:12:37 +00:00
To go from a clean check out of the git repo to a running search engine,
follow these steps. You're assumed to sit in the project root the whole time.
2023-03-04 13:35:50 +00:00
2023-03-04 15:12:37 +00:00
1. Run the one-time setup, it will create the
2023-03-04 15:06:36 +00:00
basic runtime directory structure
2023-03-04 13:35:50 +00:00
```
$ run/setup.sh
2023-03-04 15:06:36 +00:00
```
2023-03-04 15:12:37 +00:00
2. Compile the project and build docker images
2023-03-04 13:35:50 +00:00
2023-03-04 15:06:36 +00:00
```
2023-03-04 14:17:02 +00:00
$ ./gradlew assemble docker
2023-03-04 15:06:36 +00:00
```
2023-03-04 14:17:02 +00:00
2023-03-04 15:12:37 +00:00
3. Download a sample of crawl data, process it and stick the metadata
into the database. The data is only downloaded once. Grab a cup of coffee, this takes a few minutes.
This needs to be done whenever the crawler or processor has changed.
2023-03-04 15:06:36 +00:00
```
$ docker-compose up -d mariadb
2023-03-04 13:35:50 +00:00
$ run/reconvert.sh
2023-03-04 15:06:36 +00:00
```
2023-03-04 15:12:37 +00:00
4. Bring the system online. We'll run it in the foreground in the terminal this time
because it's educational to see the logs. Add `-d` to run in the background.
2023-03-04 13:35:50 +00:00
2023-03-04 15:06:36 +00:00
```
2023-03-04 13:35:50 +00:00
$ docker-compose up
```
2023-03-04 15:12:37 +00:00
5. Since we've just processed new crawl data, the system needs to construct static
indexes. Wait for the line 'Auto-conversion finished!'
2023-03-04 15:06:36 +00:00
When all is done, it should be possible to visit
2023-03-04 15:12:37 +00:00
[http://localhost:8080](http://localhost:8080) and try a few searches!