Installing AnyLog via OVA
Deploy a pre-configured AnyLog demo environment using the OVA virtual machine image.
The AnyLog Demo OVA is a pre-configured virtual machine image containing a complete, multi-node AnyLog environment. It is designed for demonstrations, training, evaluations, and proof-of-concept deployments — everything runs inside a single VM.
What’s included
| Component | Description | Default port |
|---|---|---|
| Standalone Node | Combined master + operator — control plane, query federation, and data storage | VM_IP:32149 |
| Operator Node | Second data ingestion and storage node | VM_IP:32159 |
| GUI | Web-based management UI — query builder, node health, metadata viewer | http://localhost:31800 |
| Grafana | Pre-configured monitoring dashboard | http://localhost:3000 |
All components start automatically when the VM boots.
Prerequisites
- Hypervisor: VMware Workstation, VMware ESXi, or VirtualBox
- Minimum 4 GB RAM, 2 vCPUs, 20 GB disk recommended
- AnyLog license key — get one at https://www.anylog.network/download
Installation
1. Import the OVA
Import the .ova file into your hypervisor. In VMware: File → Open and select the file. In VirtualBox: File → Import Appliance.
Boot the VM and log in. The AnyLog scripts are located at ~/AnyLog/.
2. Make scripts executable
chmod +x ~/AnyLog/ALinstall.sh
chmod +x ~/AnyLog/startup.sh
3. Configure the environment (optional)
Edit ~/AnyLog/ALinstall.env before installing. At minimum, set your license key:
nano ~/AnyLog/ALinstall.env
Key variables:
| Variable | Default | Description |
|---|---|---|
LICENSE_KEY |
(blank) | Required. Prompted interactively if left blank. |
COMPANY_NAME |
Anylog-Demo |
Name stamped on node policies in the metadata layer. |
TAG |
pre-develop |
AnyLog Docker image tag / version to deploy. |
LEDGER_CONN |
127.0.0.1:32148 |
TCP address of the master node (blockchain ledger). |
ENABLE_MQTT |
true |
Enable MQTT data ingestion. |
MQTT_BROKER |
172.104.228.251 |
External MQTT broker address for the demo data feed. |
MSG_DBMS |
new_company |
Database name for MQTT-ingested data. |
DEFAULT_DBMS |
new_company |
Default database name. |
NODE_MONITORING |
true |
Enable node health monitoring. |
STORE_MONITORING |
true |
Persist monitoring metrics to a local database. |
SYSLOG_MONITORING |
true |
Collect syslog messages from the host. |
DOCKER_MONITORING |
true |
Collect Docker container stats. |
4. Install the demo environment
cd ~/AnyLog
./ALinstall.sh -d -s install
The -d flag enables demo mode (installs the full pre-configured environment). The -s flag starts all nodes immediately after installation.
Logs are written to ./logs/ALinstall_install_<timestamp>.log.
5. Verify
docker ps
All containers should be running. Then open the GUI:
http://localhost:31800
Default credentials:
Username: edgelake
Password: edgelake
Change these immediately for any non-demo or networked deployment.
ALinstall.sh reference
./ALinstall.sh [-e env_file] [-n node1,node2,...] [-s] [-k] [-d] <command>
Commands
| Command | Description |
|---|---|
install |
Clone docker-compose repo, configure, and optionally start nodes |
uninstall |
Stop and remove containers and images |
update |
Uninstall then reinstall with current config |
start |
Start previously installed nodes |
stop |
Stop running nodes |
Flags
| Flag | Description |
|---|---|
-d |
Demo mode — installs the full demo environment (overrides -n) |
-s |
Auto-start nodes after install or update |
-k |
Auto-stop running nodes before uninstall or update |
-n node1,node2 |
Target specific node types only |
-e path |
Path to a custom environment file (default: ./ALinstall.env) |
Node types
| Node type | Description |
|---|---|
anylog-standalone-operator |
Combined master + operator (used in demo mode) |
anylog-master |
Metadata ledger node only |
anylog-operator |
Data ingestion and storage node |
anylog-query |
Federated SQL query node |
anylog-publisher |
Data routing node |
anylog-generic |
Generic node — any combination of services |
Common examples
# Full demo install, auto-start
./ALinstall.sh -d -s install
# Install specific node types only
./ALinstall.sh -n anylog-master,anylog-query install
# Install with a custom config file, auto-start
./ALinstall.sh -e /opt/myconfig.env -s install
# Stop demo nodes
./ALinstall.sh -d stop
# Restart demo nodes
./ALinstall.sh -d -s start
# Uninstall a single node
./ALinstall.sh -n anylog-operator uninstall
# Update all nodes (stop existing, reinstall, restart)
./ALinstall.sh -k -s update
Default dataset
The demo environment ships with a preloaded dataset:
- Database:
new_company - Table:
rand_data
Data is continuously ingested via an MQTT feed on first launch. You can query it immediately from the GUI or via REST:
curl -X GET http://localhost:32149 \
-H "command: sql new_company format=table \"select * from rand_data limit 10\"" \
-H "User-Agent: AnyLog/1.23"
Troubleshooting
Containers not running:
docker ps -a # check all containers including stopped ones
docker logs <name> # view logs for a specific container
Restart the demo:
./ALinstall.sh -d -s start
Reinstall from scratch:
./ALinstall.sh -d uninstall
./ALinstall.sh -d -s install
Upgrade to a newer version:
# Edit ALinstall.env and update TAG to the desired version, then:
./ALinstall.sh -d -k -s update
Logs:
ls ~/AnyLog/logs/ # list install logs
cat ~/AnyLog/logs/ALinstall_install_*.log
Next steps
Once the demo environment is running, explore it via the GUI at http://localhost:31800, or connect to the standalone node directly:
- REST endpoint:
http://VM_IP:32149 - Query node endpoint:
http://VM_IP:32349
To move beyond the demo and deploy a production-grade environment, see: