2. Installation
Linux
Docker
Pull the docker image:
docker pull ghcr.io/reactive-graph/reactive-graph:latest
Create and start a container:
docker run --name reactive-graph ghcr.io/reactive-graph/reactive-graph:latest -p 0.0.0.0:31415:31415
Ubuntu / Debian / Raspberry Pi OS
The installation instructions below are tested on:
- Ubuntu 24.04
- Ubuntu 22.04
- Raspberry Pi OS (Bullseye)
Other debian based distributions will also work if the following requirement is satisfied:
- libc6 (>= 2.35)
An APT repository is available at https://apt.reactive-graph.io/.
Packages are currently available for these architectures:
- amd64
- arm64
- armhf
- i386
- ppc64
- ppc64el
- riscv64
Setup APT repository and download GPG keys
echo "deb https://apt.reactive-graph.io/ focal main" | sudo tee -a /etc/apt/sources.list.d/reactive-graph.list
gpg --recv-keys --keyserver keyserver.ubuntu.com 1F7F762FFE6BF816DB4C41D218D6C25399307BA5
gpg --recv-keys --keyserver keyserver.ubuntu.com 18D6C25399307BA5
gpg --export 1F7F762FFE6BF816DB4C41D218D6C25399307BA5 | sudo tee /etc/apt/trusted.gpg.d/apt.reactive-graph.io.gpg
gpg --export 18D6C25399307BA5 | sudo tee /etc/apt/trusted.gpg.d/reactive-graph.gpg
sudo apt update
Install Reactive Graph
sudo apt install reactive-graph
Create the first (default) instance of the runtime
sudo systemctl daemon-reload
sudo systemctl start reactive-graph@default
Configure the default instance
sudo nano /etc/reactive-graph/default/graphql.toml
sudo systemctl restart reactive-graph@default
Optional: Create further instances
It's possible to run multiple instances by starting another instance with a different name. The necessary configuration files are created at the first start. You propaply want to change the configuration files since they are copied from the default instance.
sudo systemctl start reactive-graph@second
sudo nano /etc/reactive-graph/second/graphql.toml
Optional: Install plugins
Once you have the runtime running you can install the plugins.
The package names starts with libreactive-graph-plugin
.
To get a list of available plugins, you can search for it like so:
apt search libreactive-graph-plugin
To install a plugin for the default instance you just have to install the package and restart the service:
sudo apt install libreactive-graph-plugin-base
sudo systemctl start reactive-graph@default
Similarly, you can just install all available plugins:
sudo apt install "libreactive-graph-plugin-*"
sudo systemctl start reactive-graph@default
If you want to run multiple instances, each instance has it's own set of plugins.
The installed plugins for the default instance are located at:
/usr/share/reactive-graph/default/plugins/installed
Likewise plugins for another instance are located at:
/usr/share/reactive-graph/{instance-name}/plugins/installed
To install a plugin you can copy it from the default instance install folder into the deploy folder
of the other instance like so:
cp /usr/share/reactive-graph/default/plugins/installed/{plugin.so} /usr/share/reactive-graph/{instance-name}/plugins/deploy
If the other instance is already running, it's not necessary to restart the instance runtime, because the runtime is able to hot deploy plugins.
Manually Install Debian Package
Another way is to install the debian packages manually:
-
Download the debian package from GitHub
mkdir -p /tmp/reactive-graph cd /tmp/reactive-graph wget https://github.com/reactive-graph/reactive-graph/releases/download/{version}/reactive-graph_{version}_amd64.deb
-
Install the package via
dpkg
sudo dpkg -i reactive-graph_0.10.0_amd64.deb
-
Reload systemctl units
sudo systemctl daemon-reload
-
Start the
default
instancesudo systemctl start reactive-graph@default
Configure an instance
# Name, Description
sudo nano /etc/reactive-graph/instance-name/instance.toml
# Port
sudo nano /etc/reactive-graph/instance-name/graphql.toml
# Log levels
sudo nano /etc/reactive-graph/instance-name/logging.toml
# Enable / disable plugin(s)
sudo nano /etc/reactive-graph/instance-name/plugins.toml
# Manage remotes
sudo nano /etc/reactive-graph/instance-name/remotes.toml
Then restart the service:
sudo systemctl restart reactive-graph@instance-name
Create a new instance (system wide)
Create a new instance by using a new instance name:
sudo systemctl start reactive-graph@instance-name
Adjust the GraphQL configuration (port, hostname) and the instance configuration (name). Then restart
sudo systemctl restart reactive-graph@instance-name
Other distributions / Manually Install Binary
You can install the binary packages manually:
-
Download the binary from https://github.com/reactive-graph/reactive-graph/releases
wget https://github.com/reactive-graph/reactive-graph/releases/download/v{version}/reactive-graph-x86_64-unknown-linux-gnu.tar.gz
-
Extract the binary
tar xvf reactive-graph-x86_64-unknown-linux-gnu.tar.gz
-
Start the binary
cd reactive-graph-x86_64-unknown-linux-gnu ./reactive-graph
From Source
Please follow the Build Instructions.
Windows
Windows Installer
Manually install binaries
- Download the latest binary from https://github.com/reactive-graph/reactive-graph/releases
- Unzip the archive
- Change into the directory
- Execute
reactive-graph.exe
From Source
Please follow the Build Instructions.
MacOS
Manually install binaries
- Download the latest binary from https://github.com/reactive-graph/reactive-graph/releases
- Extract the archive
- Change into the directory
- Execute
reactive-graph
From Source
Please follow the Build Instructions.