Resonate Server installation
Install and run the Resonate Server to provide durability to your application through hard crashes and failures.
MacOS and Linux​
How to run the Resonate Server on your Mac OS or Linux machine?
You can use Brew, or if you have Golang installed, you can build it from source.
To install it with Brew and run it as a single binary, run the following commands:
brew install resonatehq/tap/resonate
resonate serve
The above command installs and starts the Resonate Server using a default configuration.
Build from source​
Alternatively, you can build and run it from source. Make sure you have the Go programming language installed. Then, run the following commands to download the repository and build the server:
git clone https://github.com/resonatehq/resonate
cd resonate
go build -o resonate
After it is built, you can compile and run it as a Go program using the following command:
go run main.go serve
Or, you can run it as an executable using the following command:
./resonate server
Once running, you'll see log output like:
time=2023-01-01T00:00:00.000-00:00 level=INFO msg="starting http server" addr=0.0.0.0:8001
time=2023-01-01T00:00:00.000-00:00 level=INFO msg="starting grpc server" addr=0.0.0.0:50051
time=2023-01-01T00:00:00.000-00:00 level=INFO msg="starting metrics server" addr=:9090
Release artifacts​
You may also download the GitHub artifacts directly from the repo.
Configuration​
Optionally, you can start Resonate with a configuration file.
./resonate serve --config resonate.yml
The following example file lists all default settings.
api:
baseUrl: http://localhost:8001
size: 100
subsystems:
http:
addr: "0.0.0.0:8001"
timeout: 10s
grpc:
addr: "0.0.0.0:50051"
aio:
size: 100
subsystems:
store:
subsystem:
size: 100
workers: 1
batchSize: 100
config:
kind: sqlite # also: postgres
sqlite:
path: resonate.db
txTimeout: 250ms
postgres:
host: localhost
port: 5432
username: ""
password: ""
database: resonate
txTimeout: 250ms
network:
subsystem:
size: 100
workers: 3
batchSize: 100
config:
timeout: 10s
queuing:
config:
connections:
routes:
system:
notificationCacheSize: 100
submissionBatchSize: 100
completionBatchSize: 100
metrics:
port: 9090
Additionally, all configuration options can be specified as command line flags.
./resonate serve --help