Install With Docker

Pull the 0.2.0 Docker image and run it with a persistent volume.

Requirements

Pull eloqdata/lavik:0.2.0 from Docker Hub. Docker selects the matching AMD64 or ARM64 image. Each image packages the official checksum-verified 0.2.0 Minimal server archive.

Use Docker with Linux containers, Linux 6.1+ and usable io_uring. The image supports linux/amd64 and linux/arm64 and contains the Minimal server build: kernel TCP/io_uring, without SPDK/DPDK or Lavik Admin. The seccomp option allows io_uring in this container; privileged mode is not needed.

1. Start A Standalone Server

Linux · bash
# Run in Bash; stop if the image cannot be pulled.
set -euo pipefail
docker pull eloqdata/lavik:0.2.0
docker run -d --name lavik \
  --security-opt seccomp=unconfined \
  --ulimit memlock=536870912:536870912 \
  -p 127.0.0.1:6379:6379 -v lavik-data:/data \
  -e LAVIK_DATA_SIZE=1G -e LAVIK_THREADS=2 \
  eloqdata/lavik:0.2.0
wait_for_lavik() {
  local attempt
  for attempt in {1..60}; do
    if [ "$(docker exec lavik timeout 3 redis-cli --raw PING 2>/dev/null)" = PONG ]; then
      return 0
    fi
    sleep 2
  done
  echo 'Lavik was not ready within 60 checks; inspect docker logs lavik.' >&2
  return 1
}
wait_for_lavik

The image runs as UID/GID 10001. A named volume avoids host-directory ownership problems. The data file is allocated once; reusing a volume preserves its existing allocation and data. Choose an unused container name and port if another server is running.

2. Connect

Linux · bash
docker exec lavik redis-cli PING
docker exec lavik redis-cli SET greeting 'hello from Lavik'
docker exec lavik redis-cli GET greeting
docker logs --tail 50 lavik

3. Preserve Data Across Restarts

Linux · bash
set -euo pipefail
docker stop --time 60 lavik
docker start lavik
wait_for_lavik() {
  local attempt
  for attempt in {1..60}; do
    if [ "$(docker exec lavik timeout 3 redis-cli --raw PING 2>/dev/null)" = PONG ]; then
      return 0
    fi
    sleep 2
  done
  echo 'Lavik was not ready within 60 checks; inspect docker logs lavik.' >&2
  return 1
}
wait_for_lavik
docker exec lavik redis-cli GET greeting

For container replacement, stop and remove only the container, then run the start command again with the same lavik-data volume. Do not delete that volume unless you intend to erase its data. For replication and failover, use the Compose guide.

Install With Docker Compose →