Start
The default bind is loopback. redis-cli PING should answer PONG.
From a checkout
cargo run --bin ruvio redis-cli -h 127.0.0.1 -p 6379 PING
Settings resolve in this order: built-in defaults, ruvio.toml (or --config / RUVIO_CONFIG), RUVIO_* environment variables, then explicit command-line options. Unknown TOML fields are rejected. Environment overrides are written back at startup; editing the file while the process is running waits for the next start. Details are on Configuration.
One runtime
The binary is evented. Linux uses epoll, macOS uses kqueue, and Windows uses IOCP. There is no backend setting. INFO reports ruvio_backend:evented. Shards and TLS are available on all three systems. Default features are mimalloc-allocator.
Docker
Docker Hub has one Linux image, built with the evented adapter. Pull linux. latest and 0.2.6 are that same image. Docker selects amd64 or arm64. Tags, pull counts, and the other packages are on the packages page. The container sets RUVIO_PROTECTED_MODE=false because a published port is not loopback inside the namespace. Put a password on any bind that is not loopback when you leave that default.
docker pull salihcantekin/ruvio:linux docker run --rm -p 6379:6379 -v ruvio-data:/data salihcantekin/ruvio:linux
Two shards publish consecutive ports. Advertise the host clients can reach. Without that, CLUSTER SLOTS hands out 127.0.0.1 and a remote app cannot follow MOVED.
docker run --rm -p 6379-6380:6379-6380 \ -e RUVIO_SHARDS=2 \ -e RUVIO_ADDR=0.0.0.0:6379 \ -e RUVIO_ADVERTISE_HOST=YOUR_SERVER_IP \ -e RUVIO_PROTECTED_MODE=false \ -v ruvio-data:/data \ salihcantekin/ruvio:linux
First-party clients take only YOUR_SERVER_IP:6379. They read the slot map and open 6380 themselves. Put a password on any bind that is not loopback. The process runs as UID 10001. The same image builds locally with docker build -f Dockerfile.linux -t ruvio:local .
Which client
Use ruvio-client, Ruvio.Client, or Ruvio.Client.AspNetCore. See Clients and Packages.
Operator UI
Pull salihcantekin/ruvio-ui:linux and publish port 8080. It signs in as an ACL user on the server you already started. Install, shards, and user rules are on the UI page.