Welcome to the Catalyst management tool!
Here you will find everything you need to set up you our Catalyst node.
This repository is prepared to be auto updated with cron jobs. The updated branches are development
and master
. Where development
is the canary release to test a configuration and master
branch is the stable configuration for the catalysts.
It is highly recommended that you use a fork of this repository to avoid any security issues since it may run code directly in your catalyst.
We actively mix canary and stable configurations in several catalysts for Goerli (dev) and Mainnet (prod).
- You will need to have docker installed.
- You will to have docker-compose installed.
- The initialization script runs on Bash. It has not been tested on Windows.
In order to run a public server, you will also need to:
- Have a public domain pointing to your server.
- Your server will need to have the HTTPS port open (443).
To configure your node, you will have to set three variables in the .env file:
Name | Description | Default | Required |
---|---|---|---|
Needed to handle the TLS certificates. For example, you will be notified when they are about to expire. | - | yes | |
CONTENT_SERVER_STORAGE | The path to the directory where the content will be stored. Path must be absolute. | - | yes |
CATALYST_URL | The public domain of the node. For example https://peer.decentraland.org . It is really important that you add https:// at the beginning of the URL. If you are running your node locally, then simply write http://localhost |
- | yes |
CATALYST_OWNER_CHANNEL | Which update channel in the cloud bootstrap configurations to use stable or latest . |
latest | no |
SQS_QUEUE_NAME | Which Amazon SQS to consume in crontab.sh |
- | no |
MOUNT_DISK | Useful to mount a disk to the folder $CONTENT_SERVER_STORAGE when working with persistent storage in cloud instances. |
- | no |
DISABLE_THIRD_PARTY_PROVIDERS_RESOLVER_SERVICE_USAGE | Used to prevent the retrieval of Third Party Providers from the resolver service and exclusively fetch them from TheGraph. | false | no |
There is also some advanced configuration in the .env-advanced file. Normally, it shouldn't be modified.
Name | Description | Default | Required |
---|---|---|---|
ETH_NETWORK | Which Ethereum network you want to use. Usually is goerli for testing or mainnet for production |
mainnet | yes |
REGENERATE | This will instruct the script to regenerate the certs. 0 will keep the certificates, 1 will ask for certificate renewal. If there are no certificates, the initialization script will generate them automatically, regardless of this value. For more information, look at FAQ questions (2), (3) and (4) |
0 | no |
MAINTENANCE_MODE | This will instruct to run maintenance tasks in the Catalyst and then stop. 0 will run the Catalyst normally , 1 will run the maintenance mode. |
0 | no |
After you have configured everything, all you need to do is run:
./init.sh
Once you started your Catalyst server, after a few seconds you should be able to test the different services by accessing:
- Content:
CATALYST_URL/content/status
- Lambdas:
CATALYST_URL/lambdas/status
To update your Catalyst to a newer version, you can do the same as above:
./init.sh
To stop a specific container on your node:
./stop.sh
To stop a specific container on your node:
./stop.sh [ nginx | lambdas | content-server ]