Self-host EnSync
EnSync provides public images on Docker hub which can be used on almost any container engine (OCI compliant).
- EnSync Components
EnSync consists of two major components that work together to provide a complete event delivery system:
Component
Description
Key Features
Network Ports
Master Node (EnSync Node)
Core component responsible for handling all client interactions and event management operations
Event publishing
Event subscribing
Event pulling
Rollback operations
Event acknowledgment handling
8443 (HTTP/2)
8082 (HTTP/1)
Config Manager
Control plane for EnSync, providing management and configuration capabilities
Access control management
Event structure definition
Event workspace management
System settings configuration
8080 (API endpoint)
- Download EnSync Service
Download compose.yml and open it.
- Start EnSync Service and set Environment variables
Download engine.sh and open it.
The engine.sh script is a helper script that simplifies the process of running EnSync by:
Setting configurable environment variables automatically
Providing simple commands to manage the EnSync service:
Start services:
./engine.sh
Stop services:
./engine.sh down
- HTTP/2 Configuration
For HTTP/2 connections (port 8443), EnSync requires a valid certificate for request authorization.
Set up a valid certificate for HTTP/2 connections
Configure the ENSYNC_CERT_PATH environment variable to point to your certificate file
- Environment Variables
The following environment variables are used to configure EnSync:
Variable Name
Default Value
Purpose
STORAGE_DIR
Required
Specifies the storage location for event records
ENSYNC_UID
Required
User ID for the EnSync Node service
ENSYNC_GID
Required
Group ID for the EnSync Node service
ENSYNC_CERT_PATH
Required for HTTP/2
Path to the JKS signed certificate file used for HTTP/2 request authorization
ENSYNC_CLEAN_UP
200ms
Controls how frequently EnSync cleans up stored events from memory
ENSYNC_CLEAN_UP_TO
200ms
Specifies how long events can remain in the Ready-to-go Queue before being cleaned up
ENSYNC_CONFIG_MANAGER_URL
http://config-manager:8080
Defines the connection endpoint for the Config Manager service
- Critical Warnings
- Important Setup Requirements
- Event Management Notes
- Configuration Notes
- Best Practices