-
Notifications
You must be signed in to change notification settings - Fork 35
Installation
This guide provides step-by-step instructions for setting up Synapse on your local machine or in a cloud environment. Synapse can be deployed using Docker, Kubernetes, or directly on your system using the provided .NET binaries.
The Docker Compose method allows you to run all Synapse components as Docker containers.
- Docker: Ensure that Docker is installed on your system. You can download it from Docker's official website.
-
Download the Docker Compose file:
wget https://raw.githubusercontent.com/serverlessworkflow/synapse/main/deployments/docker-compose/docker-compose.yml
-
Start the Synapse services:
docker-compose up
This will start the Synapse services as defined in the docker-compose.yml
file. The API server and other components will be accessible according to the configuration in this file.
For development purposes, if you wish to build the Docker images yourself, follow these steps:
- Docker: Ensure that Docker is installed on your system.
- Git: You need Git to clone the repository.
-
Clone the Synapse Repository:
git clone https://github.com/serverlessworkflow/synapse.git
-
Navigate to the Docker Compose directory:
cd synapse/deployments/docker-compose
-
Build the Docker images:
docker-compose -f docker-compose.build.yml build
-
Start the Synapse services:
docker-compose -f docker-compose.build.yml up
Deploying Synapse in a Kubernetes cluster provides a robust solution for production environments.
-
Kubernetes: Ensure you have access to a Kubernetes cluster.
-
Helm: Helm must be installed to manage Kubernetes applications. You can install Helm using the following command:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
-
Download the Synapse Helm charts:
If you're not using a Helm repository hosted via GitHub Pages, you can manually download the Helm charts from the Synapse repository.
wget https://github.com/serverlessworkflow/synapse/releases/download/<version>/helm-charts-<version>.tgz
-
Install the Helm charts:
Once you have the Helm chart tarball, you can install Synapse using Helm with the downloaded chart file.
helm install synapse ./helm-charts-<version>.tgz
You can customize the installation by passing additional configuration values using the --values (or -f) flag. For example:
helm install synapse ./helm-charts-<version>.tgz --values custom-values.yaml
Create a
custom-values.yaml
file if you need to override default values in the chart. -
Verify the installation:
Check the status of the Synapse pods to ensure they are running correctly. This command lists the pods in the default namespace, or you can specify the namespace if Synapse was installed in a different one.
kubectl get pods -n default
Replace default with the appropriate namespace if Synapse was installed in a different namespace.
This will deploy Synapse components within your Kubernetes cluster. You can customize the installation using Helm values.
Running Synapse directly with .NET binaries allows you to run the services without Docker or Kubernetes.
- .NET 8.0 Runtime: Ensure the .NET 8.0 Runtime is installed on your system. You can download it from Microsoft's official website.
- Docker: Ensure that Docker is installed on your system. You can download it from Docker's official website.
-
Download the latest release:
Visit the Synapse releases page and download the appropriate binaries for your system.
-
Extract the binaries:
tar -xzf synapse-<version>.tar.gz cd synapse-<version>
-
Run the Synapse API Server:
dotnet Synapse.Api.Server.dll
-
Run other components as needed:
You can start other components (e.g., Operator, Correlator) similarly by running their respective
.dll
files:dotnet Synapse.Operator.dll
The synctl
CLI allows you to interact with the Synapse API from the command line.
-
synctl
CLI: Download thesynctl
binary from the Synapse releases page.
-
Make the binary executable:
chmod +x synctl
-
Set up the Synapse API server:
synctl config set-api default -server=http://localhost:8080
You can now use synctl
to create, manage, and run workflows.
- Quick Start Guide: Learn how to create and run your first workflow.
- API Documentation: Explore the API endpoints and how to use them.
If you encounter any issues during installation, check the troubleshooting guide or visit the discussions page for help from the community.