From 4f45bc1acfc3ebfb991c51da7f7cba2d98d8bf0f Mon Sep 17 00:00:00 2001 From: Artyom Savchenko Date: Mon, 23 Feb 2026 21:45:21 +0700 Subject: [PATCH] Hulypulse in-memory config (#271) Signed-off-by: Artem Savchenko --- README.md | 32 ++++++++++++++++++++++++++++---- compose.yml | 9 +++++---- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 8305c67..e081596 100644 --- a/README.md +++ b/README.md @@ -440,15 +440,22 @@ Note that the `LIVEKIT_HOST` should include the protocol (`wss://` by default if ## HulyPulse (Push / real-time updates) -HulyPulse provides WebSocket push notifications and real-time updates. It requires Redis. +HulyPulse provides WebSocket push notifications and real-time updates. It will allow the following functions to work: - The knock and invite features in video calls - Information about who is viewing/editing objects right now - Shows that someone is typing a message in a chat. +Since Huly platform version `v0.7.375`, HulyPulse supports an **in-memory backend**. +By default, templates in this repository use: -1. Enable Redis and HulyPulse in `compose.yml`: - - Uncomment the `redis` service. +- `HULY_BACKEND=memory` + +This mode does not require Redis and is suitable for single-node or small self-hosted deployments. + +### Enabling HulyPulse (in-memory backend) + +1. Enable HulyPulse in `compose.yml`: - Uncomment the `hulypulse` service. 2. Configure the `transactor` service: @@ -483,7 +490,24 @@ It will allow the following functions to work: docker compose up -d --force-recreate ``` -Redis is configured with a 512 MB memory limit by default. For production you may want to set a Redis password and use `HULY_REDIS_URLS=redis://:YOUR_PASSWORD@redis:6379` in the `hulypulse` environment. The image tag uses `HULY_PULSE_VERSION` if set (default `0.1.29`). +### Using Redis as backend (optional) + +Redis can be used as an alternative backend for HulyPulse – for example, in multi-node or higher-availability setups. + +1. Enable Redis and HulyPulse in `compose.yml`: + - Uncomment the `redis` service. + - Uncomment the `hulypulse` service. + - In the `hulypulse` environment, switch to Redis: + + ```yaml + - HULY_BACKEND=redis + - HULY_REDIS_MODE=direct + - HULY_REDIS_URLS=redis://redis:6379 + # or with password: + # - HULY_REDIS_URLS=redis://:YOUR_PASSWORD@redis:6379 + ``` + +2. Redis is configured with a 512 MB memory limit by default in the provided `compose.yml`. Adjust limits, password, and URLs as needed for your production setup. The image tag uses `HULY_PULSE_VERSION` if set (default `0.1.29`). ## Print Service diff --git a/compose.yml b/compose.yml index fbf1eb9..4754c11 100644 --- a/compose.yml +++ b/compose.yml @@ -117,14 +117,15 @@ services: # - HULY_LOG=info # - HULY_TOKEN_SECRET=${SECRET} # - HULY_HEARTBEAT_TIMEOUT=60 - # - HULY_REDIS_MODE=direct - # - HULY_REDIS_URLS=redis://redis:6379 + # - HULY_BACKEND=memory + # # For Redis backend instead of in-memory (optional, e.g. multi-node setups): + # # - HULY_BACKEND=redis + # # - HULY_REDIS_MODE=direct + # # - HULY_REDIS_URLS=redis://redis:6379 # deploy: # resources: # limits: # memory: 512M - # depends_on: - # - redis # restart: unless-stopped # networks: # - huly_net