Official Visokio Omniscope (BYOL) β self-hosted BI, analytics & reporting platform for Docker
4.5K
Official Visokio Omniscope Evo (BYOL) β self-hosted analytics and reporting server for Docker.
Production-ready Docker image for Visokio Omniscope β a self-hosted app for data preparation, analytics, machine learning, and data visualisation.
This image runs Omniscope in Bring-Your-Own-License (.lic) mode on Ubuntu 24.04
Highlights
| Item | Value |
|---|---|
| Base OS | Ubuntu 24.04 LTS (noble) |
| Activation | BYOL via mounted .lic file |
| User | Runs as omniscope (nonβroot) |
| Exposed ports | 8080 (HTTP) |
| Target platform | linux/amd64 |
/home/omniscope/visokio-omniscope/ # Omniscope binaries & runtime
/home/omniscope/omniscope-server/ # Persistent config, logs, and projects
/home/omniscope/.visokioappdata/Visokio/Omniscope/licenses/ # License folder
βββ omniscope.lic # BYOL license file (mounted readβonly)
Provide a valid .lic file mounted readβonly at:
/home/omniscope/.visokioappdata/Visokio/Omniscope/licenses/omniscope.lic
If the license is missing, the container exits with a clear error.
# ==============================================================================
# Visokio Omniscope (BYOL, .lic-only) - Official Docker Compose example
# ==============================================================================
services:
omniscope:
platform: linux/amd64
image: ${OMNI_IMAGE:-visokio/omniscope:latest}
container_name: omniscope
hostname: my-omniscope-server # β required; identifies the instance
# Networking
ports:
- "8080:8080"
# - "8443:8443" # Optional HTTPS (enable if configured)
# Persistent volumes
volumes:
- ./omniscope-server:/home/omniscope/omniscope-server
- type: bind
source: ./license/omniscope.lic
target: /home/omniscope/.visokioappdata/Visokio/Omniscope/licenses/omniscope.lic
read_only: true
# Environment
environment:
# Mirror the hostname for Java and internal licensing
HOSTNAME: "my-omniscope-server"
CONTAINER_ID: "my-omniscope-server"
# Optional cluster identifier for multi-container environments
# CLUSTER_ID: "compose-local"
# Force admin password regeneration (advanced / first-run override)
# OMNI_FORCE_CREATE_ADMIN_PWD: "true"
restart: unless-stopped
Start Omniscope:
docker compose up -d --force-recreate
You can customise the image i.e. if you wanted to run build 2026.1.23350:
OMNI_IMAGE=visokio/omniscope:2026.1.23350 docker compose up -d
Open http://localhost:8080β . Get the Admin password (save securely) line:
docker logs -f omniscope | grep -m1 -F "Admin password (save securely)"
Use this password to log in to the Admin App.
mkdir -p omniscope-server license
cp /path/to/omniscope.lic license/omniscope.lic
chmod 600 license/omniscope.lic
docker run -d \
--name omniscope \
--hostname my-omniscope-server \
--restart unless-stopped \
-p 8080:8080 \
-e HOSTNAME=my-omniscope-server \
-e CONTAINER_ID=my-omniscope-server \
-v "$PWD/omniscope-server":/home/omniscope/omniscope-server \
-v "$PWD/license/omniscope.lic":/home/omniscope/.visokioappdata/Visokio/Omniscope/licenses/omniscope.lic:ro \
visokio/omniscope:latest
Retrieve the Admin password (save securely) line from logs:
docker logs omniscope | grep -m1 -F "Admin password (save securely)"
Tip: Set a meaningful hostname (e.g.
--hostname ce-omniscope-eu1) for consistent license identity.
On the first start, the entrypoint runs headless autosetup and emits the Admin password (save securely) log line with the generated password, for example:
[omni-entrypoint] Autosetup complete.
[omni-entrypoint] ==============================================================
[omni-entrypoint] Admin password (save securely): <PASSWORD>
[omni-entrypoint] ==============================================================
Use this password to access the Admin App. Omniscope stores it securely thereafter. No secrets need to be baked into images.
| Variable | Default | Purpose |
|---|---|---|
HOSTNAME | container hostname | Used by Java for system hostname (InetAddress.getLocalHost()) |
CONTAINER_ID | mirrors hostname | Used by Omniscope licensing and logs |
OMNI_HTTP_PORT | 8080 | Informational only; container exposes 8080. |
OMNI_FORCE_CREATE_ADMIN_PWD | false | Force autosetup to recreate the admin password (advanced). |
OMNI_IMAGE | (compose only) | Override image tag for Compose without editing YAML. |
For Compose, run a specific build with:
OMNI_IMAGE=visokio/omniscope:2025.1.23201 docker compose up -d
| Host path | Container path | Purpose |
|---|---|---|
./omniscope-server/ | /home/omniscope/omniscope-server | Persistent config, logs, and projects |
./license/omniscope.lic | /home/omniscope/.visokioappdata/Visokio/Omniscope/licenses/omniscope.lic:ro | BYOL license file |
9090:8080).Use these checks for Docker, Docker Compose, and Kubernetes.
docker exec -it omniscope ls -l /home/omniscope/.visokioappdata/Visokio/Omniscope/licenses/omniscope.lic
docker exec -it omniscope env | grep -E 'HOSTNAME|CONTAINER_ID'
latest β current latest buildxxxx.x.xxxxx (e.g., 2025.1.23201) β specific release builds| Symptom | Fix |
|---|---|
| Container exits on start | Ensure .lic file exists and is mounted to the correct path. |
| Can't log in | Retrieve the Admin password (save securely) line from logs. |
| Apple Silicon | Use images built for linux/amd64. |
| Port conflict | Change host mapping, e.g., 9090:8080. |
| Hostname mismatch | Ensure hostname: and CONTAINER_ID match for license identity. |
Admin password (save securely)).chmod 600 license/omniscope.lic).Β© Visokio Ltd. All rights reserved.
Content type
Image
Digest
sha256:4a731d2f9β¦
Size
799.3 MB
Last updated
1 day ago
docker pull visokio/omniscope