ArcadeDB 26.7
Overview
ArcadeDB is a multi-model database that stores graph, document, key-value, time series and vector data in a single engine. You can query it with SQL, Cypher, Gremlin and GraphQL, and it is compatible with the MongoDB and Redis protocols. It includes ArcadeDB Studio, a built-in web workbench for modelling schema, running queries and browsing graphs. ArcadeDB is a conceptual fork of OrientDB and is released under the Apache License 2.0.
This SecureAnyCloud image runs ArcadeDB 26.7 on Ubuntu 24.04 on Azure. It installs the official ArcadeDB server distribution (version 26.7.2 at build time) to /opt/arcadedb, running under OpenJDK 21. The ArcadeDB HTTP listener (Studio plus the REST API) is bound to loopback only and fronted by nginx on port 80, so a single standard HTTP port is the only public surface. The database storage directory lives on a dedicated Azure data disk mounted at /var/lib/arcadedb, independent of the OS disk.
At first boot, arcadedb-firstboot.service generates a unique root password for each VM. No default login is baked into the image. The service then starts the server, seeds a small Demo graph and proves an authenticated round trip against the HTTP API. Finally, it writes the password to /root/arcadedb-credentials.txt (mode 0600, root only).
What you get:
- ArcadeDB 26.7 server (full distribution, all query engines and Studio) from the official GitHub release, pinned and sha256-verified
- OpenJDK 21 JRE headless (ArcadeDB requires Java 17 or newer)
- An
arcadedb.servicesystemd unit that runs the server as the unprivilegedarcadedbuser - An
arcadedb-firstboot.servicesystemd oneshot that generates the root password for each VM, starts the server, seeds the Demo graph and writes/root/arcadedb-credentials.txt - nginx on port 80, reverse proxying to the loopback-bound ArcadeDB HTTP listener, with an unauthenticated
/healthzendpoint for load balancer probes - ArcadeDB Studio, the multi-model query workbench, reachable at
http://<vm-ip>/ - Database storage on a dedicated 30 GiB data disk mounted at
/var/lib/arcadedb, captured into the image so every VM is provisioned with it - An Ubuntu 24.04 LTS base, patched at build time
- The Azure Linux Agent for cloud integration and SSH key injection
- 24/7 SecureAnyCloud support with a guaranteed 24-hour response SLA
Prerequisites
You need an active Azure subscription, an SSH public key, and a VNet with a subnet in the target region. You also need a subscription to the ArcadeDB 26.7 on Ubuntu 24.04 listing on Azure Marketplace.
Recommended VM size: Standard_B2s (2 vCPU, 4 GB RAM) for evaluation and light workloads. For production graph and document workloads, use Standard_E4s_v5 (4 vCPU, 32 GB RAM) or larger. Raise the JVM heap in /etc/default/arcadedb to match (ARCADEDB_OPTS_MEMORY=-Xms1G -Xmx8G).
Deploy from the Azure Portal
Search Azure Marketplace for ArcadeDB, select the SecureAnyCloud publisher entry, and click Create.
Configure the network security group (NSG) to allow TCP 22 from your management IP and TCP 80 from your client IPs. The ArcadeDB HTTP listener is bound to loopback, so only nginx on port 80 is exposed. Do not expose port 80 to the public internet without a TLS-terminating reverse proxy in front.
Deploy from the Azure CLI
RG="arcadedb-prod"; LOCATION="eastus"; VM_NAME="arcadedb-01" IMAGE_URN="sac1647283583153:arcadedb-ubuntu-24-04:default:latest" SSH_KEY="$(cat ~/.ssh/id_rsa.pub)" az group create --name "$RG" --location "$LOCATION" az network vnet create -g "$RG" --name arc-vnet --address-prefix 10.80.0.0/16 --subnet-name arc-subnet --subnet-prefix 10.80.1.0/24 az network nsg create -g "$RG" --name arc-nsg az network nsg rule create -g "$RG" --nsg-name arc-nsg --name allow-ssh --priority 100 \
--source-address-prefixes "<your-mgmt-cidr>" --destination-port-ranges 22 --access Allow --protocol Tcp az network nsg rule create -g "$RG" --nsg-name arc-nsg --name allow-http --priority 110 \
--source-address-prefixes "<your-client-cidr>" --destination-port-ranges 80 --access Allow --protocol Tcp
# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:arcadedb-ubuntu-24-04:default:latest
az vm create -g "$RG" --name "$VM_NAME" --image "$IMAGE_URN" \
--size Standard_B2s --storage-sku StandardSSD_LRS \
--admin-username azureuser --ssh-key-values "$SSH_KEY" \
--vnet-name arc-vnet --subnet arc-subnet --nsg arc-nsg --public-ip-sku StandardConnect via SSH
ssh azureuser@<vm-ip>On first boot, arcadedb-firstboot.service generates the root password for the VM. Once it finishes, arcadedb.service and nginx.service start automatically.
Verify the ArcadeDB Service
sudo systemctl is-active arcadedb.service nginx.service
sudo test -f /var/lib/sac/data/arcadedb-firstboot.done && echo FIRSTBOOT_DONE
sudo systemctl status arcadedb.service --no-pager | head -8Both services should report active, and the first-boot sentinel file should be present.
Inspect the Listeners and Version
The ArcadeDB HTTP listener is bound to 127.0.0.1:2480 and nginx serves it on port 80. There is no open JMX or management port.
sudo journalctl -u arcadedb.service --no-pager | grep -E 'ArcadeDB Server started|Available query languages' | tail -2 sudo ss -tln | grep -E ':2480|:80 'Retrieve the Root Password
The root password for the VM is generated at first boot and stored in a root-only file. Display it with sudo:
sudo cat /root/arcadedb-credentials.txtThe file lists the root user, the password for the VM, and the endpoint URLs:
ARCADEDB_ROOT_USER=root ARCADEDB_ROOT_PASSWORD=<ARCADEDB_PASSWORD> ARCADEDB_STUDIO_URL=http://<vm-ip>/ ARCADEDB_HTTP_API_URL=http://<vm-ip>/api/v1/ ARCADEDB_DEMO_DATABASE=DemoQuery the HTTP REST API
ArcadeDB exposes a full REST API. Extract the password into a shell variable, then run an authenticated query against the seeded Demo database:
PW=$(sudo grep '^ARCADEDB_ROOT_PASSWORD=' /root/arcadedb-credentials.txt | cut -d= -f2-)
curl -s -u "root:$PW" http://127.0.0.1/api/v1/databases
curl -s -u "root:$PW" -H 'Content-Type: application/json' -X POST http://127.0.0.1/api/v1/command/Demo \
-d '{"language":"sql","command":"SELECT name, role FROM Person ORDER BY name"}'The first call lists the databases (Demo). The second returns the three Person records from the sample graph.
Open ArcadeDB Studio
ArcadeDB Studio is the built-in web workbench. From your workstation, open http://<vm-ip>/. This works when the NSG allows TCP 80. The sign-in page shows the multi-model overview and asks for a username and password:
Sign in with user root and the password for the VM from /root/arcadedb-credentials.txt. Studio connects to the Demo database and shows the Database Info panel with the seeded schema, Person vertices and Knows edges:
Run a Query in Studio
Type a query into the editor, choose a language (SQL, Cypher, Gremlin, GraphQL and more are available), and press Run. The Table view shows the returned records:
Browse the Graph
Switch the result view to Graph to explore vertices and their relationships visually. The Demo graph shows the Person vertices connected by directed Knows edges:
Multi-Model Query Examples
ArcadeDB runs several query languages against the same data. Create your own database and try a few of them. Extract the password first:
PW=$(sudo grep '^ARCADEDB_ROOT_PASSWORD=' /root/arcadedb-credentials.txt | cut -d= -f2-)
curl -s -u "root:$PW" -H 'Content-Type: application/json' -X POST http://127.0.0.1/api/v1/command/Demo \
-d '{"language":"cypher","command":"MATCH (p:Person)-[:Knows]->(f:Person) RETURN p.name, f.name"}'The same graph can be traversed with Cypher (as above), with SQL (SELECT expand(out('Knows')) FROM Person), or with Gremlin (g.V().hasLabel('Person').out('Knows').values('name')). ArcadeDB also speaks the MongoDB and Redis wire protocols for document and key-value access.
Server Components
Component Path
Server home /opt/arcadedb
Start script /opt/arcadedb/bin/server.sh
Server environment /etc/default/arcadedb
Databases directory /var/lib/arcadedb/databases (dedicated data disk)
Server users file /opt/arcadedb/config/server-users.jsonl
Systemd unit /etc/systemd/system/arcadedb.service
Firstboot script /usr/local/sbin/arcadedb-firstboot.sh
Firstboot service /etc/systemd/system/arcadedb-firstboot.service
Credentials file /root/arcadedb-credentials.txt (mode 0600)
Firstboot sentinel /var/lib/sac/data/arcadedb-firstboot.done
nginx site /etc/nginx/sites-available/sac-arcadedb
Managing the ArcadeDB Service
sudo systemctl status arcadedb.service --no-pager | head -6 sudo journalctl -u arcadedb.service --no-pager | tail -5To restart the service after a configuration change, run sudo systemctl restart arcadedb.service.
Security Recommendations
- Rotate the root password. Change it in Studio (Security tab) or through the API, and store it in your secrets manager.
- Keep the HTTP listener on loopback. Leave it as shipped, expose only nginx on port 80, and put TLS in front of it with Azure Application Gateway or nginx with a real certificate.
- Restrict the NSG. Allow port 80 only from trusted client networks, and never expose it to the public internet without TLS.
- Create per-application users and roles. Use the Security tab rather than the root account for application traffic.
- Back up the databases directory. Back up
/var/lib/arcadedb/databases, or use ArcadeDB's built-in backup command. - Patch the OS monthly. Run
sudo apt-get update && sudo apt-get upgrade && sudo reboot.
Support and Licensing
ArcadeDB is licensed under the Apache License 2.0. There are no per-node, per-CPU or per-GB fees. This image is produced by SecureAnyCloud and is not affiliated with, endorsed by, or sponsored by Arcade Data Ltd. ArcadeDB is a trademark of its respective owner and is used here only to describe the software included in the image.
SecureAnyCloud provides commercial support for this image, separate from the upstream project.
Email: sales@secureanycloud.com
Website: secureanycloud.com
Support hours: 24/7, with a guaranteed 24-hour response SLA
Deploy on Azure
Launch ArcadeDB 26.7 Multi-Model Database on Ubuntu 24.04 with 24/7 support from SecureAnyCloud.
View on Marketplace
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com
Deploy on Azure
Launch ArcadeDB 26.7 Multi-Model Database on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com