Version 1.0.6

Downloads and installation

The server installs from one file and one command. The screen deploys in a different form depending on its operating system — and that choice is not interchangeable.

Which form for which screen

The server is shared by the whole estate. The kiosk depends on the screen.

ScreenFormWhy
Windows
IdeaHub, OPS module
Standalone .exe installer Only it carries the full-screen shell, one browser profile per video-conferencing provider, and locked-down meeting launch.
Linux Docker container The interface is served to a browser running in kiosk mode.
Android, HarmonyOS Native clients Planned after version 1.0.

Windows client

Standalone installer. Neither Docker nor Node.js to install on the screen.

Download the installer
Version 1.0.6 Size 133.1 MB Windows 10 or 11, 64-bit
SHA-256
72cc3c9e116015adb2cd7435ec9a342dcd27579fa4cd469205661b81a21654f0

1.0.6 updates the display, not just the server. Releases 1.0.4 and 1.0.5 only touched the server; this one fixes two defects in the Windows client that outright prevented a display from reaching an encrypted server in some configurations. A fleet still on 1.0.3 must be updated — see the release notes.

Verify the checksum before installing

Get-FileHash .\Kelra-Room-Setup-1.0.6.exe -Algorithm SHA256

The value shown must match the one above exactly. If it differs, the file has been altered or the download is incomplete: do not run it.

The installer runs per machine and requires elevation: in a meeting room the screen often runs under a dedicated account, separate from the technician installing it. Screen data — server address, pairing, wallpaper, room account sessions — survives an uninstall or an upgrade.

Server

Linux, Docker. Nothing to compile, no source code required.

Create a folder and drop this file into it. One file is enough: every variable has a default.

docker-compose.yml

services:
  server:
    image: ghcr.io/kelralabs/kelra-room-server:1.0.6
    restart: unless-stopped
    ports:
      - "4001:4000"
    volumes:
      - openroom-data:/app/data
    environment:
      PORT: "4000"
      DB_PATH: /app/data/openroom.db
      ADMIN_SECRET: ${ADMIN_SECRET:-changeme}
      NODE_ENV: production
      TZ: ${TZ:-Europe/Paris}
      BROKER_MIRROR: ${BROKER_MIRROR:-1}
      BROKER_POLL_MS: ${BROKER_POLL_MS:-60000}

volumes:
  openroom-data:

.env — optional

Create it only to change one of these values. Without this file the defaults apply and the installation works.

# Enables the command-line administration header.
# ADMIN_SECRET=a-long-random-secret

# Time zone of the site, if it is not Europe/Paris.
# TZ=Europe/London

# Emergency stop for the broker's busy mirrors.
# BROKER_MIRROR=0

Start

docker compose pull
docker compose up -d server

Sign in

The admin console answers on http://<server>:4001/admin. The initial account is admin / admin, and the server forces a password change on first sign-in: until that is done, the rest of the administration stays out of reach.

Further administrators are created in the console, by name — one account per person rather than a shared password.

Encrypting traffic (TLS)

The examples above use http to keep a first trial short. In production Kelra Room serves over HTTPS, in one of three ways:

TLS_SELF_SIGNED=1
TLS_NAMES=192.168.1.10,server.internal,localhost,127.0.0.1

The server adapts on its own: the session cookie is marked Secure as soon as the connection is encrypted, including behind a proxy. The full procedure is in the documentation, under “Encrypting traffic”.

Linux screen: add the kiosk

  kiosk:
    image: ghcr.io/kelralabs/kelra-room-kiosk:1.0.6
    restart: unless-stopped
    ports:
      - "3001:3000"
    environment:
      NODE_ENV: production
      OPENROOM_SERVER_URL: http://<server>:4001

OPENROOM_SERVER_URL must be the address reachable from the screen's browser, not from inside Docker. Left empty, the kiosk shows its first-run screen and asks for the address on the display itself.

Upgrading

The version is pinned in the file and never tracked automatically: a pull must not change the version of a product in production without a decision. Edit the tag, then:

docker compose pull server
docker compose up -d server

Server with no outbound internet access? The images cannot be pulled. Ask helpdesk@kelralabs.com for the archive, then docker load -i kelra-room-server-1.0.6.tar before starting. The rest of the procedure is identical.

Licence

Kelra Room is distributed under the Business Source License 1.1. The source code is provided and auditable, and every deployment runs entirely on your own infrastructure — but this is not an open-source licence.

Every deployment gets a thirty-day evaluation period, after which a key is required for the screens to keep being served. The admin console stays reachable regardless: that is where the key is entered.

Licensing and commercial enquiries: hello@kelralabs.com. Support and troubleshooting: helpdesk@kelralabs.com.