Installing Slyber Inspector in Docker

Updated:
Author: Erkin Khidirov

The official ghcr.io/slyber-app/slyber-inspector:latest image is built on alpine:3.20, supports amd64 and arm64 architectures, and runs the /usr/local/bin/slyber_test binary as an unprivileged user 10001:10001 (slyber).

Option 1. Quick Start via docker run

Run the container with a single command:

JavaScript
docker pull ghcr.io/slyber-app/slyber-inspector:latest
docker rm -f slyber_test 2>/dev/null || true

PORT=8095; while (ss -ltn 2>/dev/null || lsof -iTCP -sTCP:LISTEN -P -n 2>/dev/null) | grep -q ":${PORT}\b"; do PORT=$((PORT+1)); done; \

docker run -d \
  --name slyber_test \
  --restart unless-stopped \
  -p "${PORT}:8095" \
  -e LISTEN_ADDR="0.0.0.0:8095" \
  ghcr.io/slyber-app/slyber-inspector:latest && \
  HOST_IP=$([ -n "${SSH_CONNECTION:-}" ] && curl -fsSL4 --max-time 2 ifconfig.me 2>/dev/null || echo 127.0.0.1) && \
  echo "==> Open Slyber Inspector: http://${HOST_IP}:${PORT}"

Once started, the interface is immediately available in your browser at http://127.0.0.1:8095 (or http://<SERVER_IP>:8095).

Option 2. Running via Docker Compose

Create a docker-compose.yml file with the following configuration:

YAML
services:
  slyber_test:
    image: ghcr.io/slyber-app/slyber-inspector:latest
    container_name: slyber_test
    restart: unless-stopped
    ports:
      - "8095:8095"
    environment:
      LISTEN_ADDR: "0.0.0.0:8095"

Start the container in the background:

Bash
docker compose up -d

Container Environment Variables and Ports

ParameterDefault ValueDescription
LISTEN_ADDR0.0.0.0:8095Internal address and port of the HTTP/WebSocket server inside the container
Port 8095/tcp8095:8095Primary port for accessing the Slyber Inspector web interface

Verifying, Updating, and Removing the Container

Viewing logs and checking the installed version inside the container:

Bash
docker logs -f slyber_test
docker exec slyber_test slyber_test --version

Updating the container to the latest version:

When using docker Compose:

Bash
docker compose pull
docker compose up -d

When using docker run:

JavaScript
docker pull ghcr.io/slyber-app/slyber-inspector:latest
docker rm -f slyber_test 2>/dev/null || true

PORT=8095; while (ss -ltn 2>/dev/null || lsof -iTCP -sTCP:LISTEN -P -n 2>/dev/null) | grep -q ":${PORT}\b"; do PORT=$((PORT+1)); done; \

docker run -d \
  --name slyber_test \
  --restart unless-stopped \
  -p "${PORT}:8095" \
  -e LISTEN_ADDR="0.0.0.0:8095" \
  ghcr.io/slyber-app/slyber-inspector:latest && \
  HOST_IP=$([ -n "${SSH_CONNECTION:-}" ] && curl -fsSL4 --max-time 2 ifconfig.me 2>/dev/null || echo 127.0.0.1) && \
  echo "==> Open Slyber Inspector: http://${HOST_IP}:${PORT}"

Stopping and complete removal:

Via docker compose:

Bash
docker compose down --rmi all

Via docker CLI:

Bash
docker rm -f slyber_test
docker rmi ghcr.io/slyber-app/slyber-inspector:latest