Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably, socket.io, Phoenix.PubSub, SignalR.
docker pull library/zookeeper
docker run -d --name centrifugo -p 8123:8123 --restart always zookeeper:latest
podman run -d --name centrifugo -p 8123:8123 --restart always zookeeper:latest
skopeo inspect docker://docker.io/library/zookeeper:latest
oras pull zookeeper:latest
docker compose up -d
version: '3.8'
services:
zookeeper:
image: zookeeper:latest
container_name: zookeeper
hostname: zookeeper
environment:
ALLOW_ANONYMOUS_LOGIN: "yes"
healthcheck:
test: echo "ruok" | nc -w 2 localhost 2181
interval: 5s
timeout: 10s
retries: 10
volumes:
- ${PWD}/zookeeper:/data
- ${PWD}/zookeeper:/logs
clickhouse01:
image: clickhouse/clickhouse-server:23-alpine
container_name: clickhouse01
hostname: clickhouse01
ports:
- "127.0.0.1:8123:8123"
- "127.0.0.1:9000:9000"
volumes:
- ${PWD}/clickhouse01:/etc/clickhouse-server
- ${PWD}/clickhouse01_db:/var/lib/clickhouse
depends_on:
zookeeper:
condition: service_healthy
clickhouse02:
image: clickhouse/clickhouse-server:23-alpine
container_name: clickhouse02
hostname: clickhouse02
ports:
- "127.0.0.1:8124:8123"
- "127.0.0.1:9001:9000"
volumes:
- ${PWD}/clickhouse02:/etc/clickhouse-server
- ${PWD}/clickhouse02_db:/var/lib/clickhouse
depends_on:
zookeeper:
condition: service_healthy
clickhouse03:
image: clickhouse/clickhouse-server:23-alpine
container_name: clickhouse03
hostname: clickhouse03
ports:
- "127.0.0.1:8125:8123"
- "127.0.0.1:9002:9000"
volumes:
- ${PWD}/clickhouse03:/etc/clickhouse-server
- ${PWD}/clickhouse03_db:/var/lib/clickhouse
depends_on:
zookeeper:
condition: service_healthy
clickhouse04:
image: clickhouse/clickhouse-server:23-alpine
container_name: clickhouse04
hostname: clickhouse04
ports:
- "127.0.0.1:8126:8123"
- "127.0.0.1:9003:9000"
volumes:
- ${PWD}/clickhouse04:/etc/clickhouse-server
- ${PWD}/clickhouse04_db:/var/lib/clickhouse
depends_on:
zookeeper:
condition: service_healthy