2023-03-04 14:35:50 +01:00
|
|
|
# Run
|
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
This directory is a staging area for running the system. It contains scripts
|
|
|
|
and templates for installing the system on a server, and for running it locally.
|
|
|
|
|
|
|
|
See [https://docs.marginalia.nu/](https://docs.marginalia.nu/) for additional
|
|
|
|
documentation.
|
2023-03-04 14:35:50 +01:00
|
|
|
|
2023-03-06 18:45:01 +01:00
|
|
|
## Requirements
|
2023-08-24 13:27:24 +02:00
|
|
|
|
2024-01-11 12:40:03 +01:00
|
|
|
**Docker** - It is a bit of a pain to install, but if you follow
|
|
|
|
[this guide](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository) you're on the right track for ubuntu-like systems.
|
2023-03-04 14:35:50 +01:00
|
|
|
|
2024-01-11 12:40:03 +01:00
|
|
|
**JDK 21** - The code uses Java 21 preview features.
|
|
|
|
The civilized way of installing this is to use [SDKMAN](https://sdkman.io/);
|
|
|
|
graalce is a good distribution choice but it doesn't matter too much.
|
2023-08-24 13:27:24 +02:00
|
|
|
|
2023-03-06 18:45:01 +01:00
|
|
|
## Set up
|
2023-11-30 21:44:29 +01:00
|
|
|
|
2023-03-04 16:12:37 +01:00
|
|
|
To go from a clean check out of the git repo to a running search engine,
|
2024-01-22 19:40:08 +01:00
|
|
|
follow these steps.
|
2023-03-04 14:35:50 +01:00
|
|
|
|
2023-11-30 21:44:29 +01:00
|
|
|
You're assumed to sit in the project root the whole time.
|
2023-03-04 16:14:03 +01:00
|
|
|
|
2023-11-30 21:44:29 +01:00
|
|
|
### 1. Run the one-time setup
|
|
|
|
|
|
|
|
It will create the basic runtime directory structure and download some models and
|
|
|
|
data that doesn't come with the git repo because git deals poorly with large binary files.
|
|
|
|
|
|
|
|
```shell
|
2023-03-04 14:35:50 +01:00
|
|
|
$ run/setup.sh
|
2023-03-04 16:06:36 +01:00
|
|
|
```
|
|
|
|
|
2023-08-12 15:39:28 +02:00
|
|
|
### 2. Compile the project and build docker images
|
2023-03-04 14:35:50 +01:00
|
|
|
|
2023-11-30 21:44:29 +01:00
|
|
|
```shell
|
|
|
|
$ ./gradlew docker
|
2023-03-04 16:06:36 +01:00
|
|
|
```
|
2024-01-22 19:40:08 +01:00
|
|
|
### 3. Install the system
|
2023-11-30 21:44:29 +01:00
|
|
|
|
|
|
|
```shell
|
2024-01-22 19:40:08 +01:00
|
|
|
$ run/install.sh <install-directory>
|
2023-03-04 14:35:50 +01:00
|
|
|
```
|
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
To install the system, you need to run the install script. It will prompt
|
|
|
|
you for which installation mode you want to use. The options are:
|
2023-03-28 16:58:46 +02:00
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
1. Barebones - This will install a white-label search engine with no data. You can
|
|
|
|
use this to index your own data. It disables and hides functionality that is strongly
|
|
|
|
related to the Marginalia project, such as the Marginalia GUI.
|
|
|
|
2. Full Marginalia Search instance - This will install an instance of the search engine
|
|
|
|
configured like [search.marginalia.nu](https://search.marginalia.nu). This is useful
|
|
|
|
for local development and testing.
|
2023-08-12 18:58:21 +02:00
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
It will also prompt you for account details for a new mariadb instance, which will be
|
|
|
|
created for you. The database will be initialized with the schema and data required
|
|
|
|
for the search engine to run.
|
2023-03-28 16:58:46 +02:00
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
After filling out all the details, the script will copy the installation files to the
|
|
|
|
specified directory.
|
2023-08-01 22:47:37 +02:00
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
### 4. Run the system
|
2023-08-01 22:47:37 +02:00
|
|
|
|
|
|
|
```shell
|
2024-01-22 19:40:08 +01:00
|
|
|
$ cd install_directory
|
|
|
|
$ docker-compose up -d
|
|
|
|
# To see the logs:
|
|
|
|
$ docker-compose logs -f
|
2023-08-01 22:47:37 +02:00
|
|
|
```
|
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
You can now access a search interface at `http://localhost:8080`, and the admin interface
|
|
|
|
at `http://localhost:8081/`.
|
2023-03-28 16:58:46 +02:00
|
|
|
|
2024-01-22 19:40:08 +01:00
|
|
|
There is no data in the system yet. To load data into the system,
|
|
|
|
see the guide at [https://docs.marginalia.nu/](https://docs.marginalia.nu/).
|