Deployment guide

Elasticvue

Overview

Elasticvue is a free, open source web GUI for Elasticsearch and OpenSearch. From your browser you can check cluster and node health, manage indices and shards, run searches and queries, and work with documents, without installing a desktop tool.

This SecureAnyCloud image ships Elasticvue fully installed behind an nginx reverse proxy and pre-wired to a bundled single-node OpenSearch cluster, so a working cluster console is serving within minutes of launch. It can also connect to your own Elasticsearch or OpenSearch clusters.

What you get:

  • Application: Elasticvue 1.15.0 (cars10/elasticvue, MIT)
  • Bundled backend: OpenSearch 3.7.0 (opensearchproject/opensearch, Apache-2.0)
  • Served on: port 80 (nginx), proxied to Elasticvue on loopback 127.0.0.1:8080, with the OpenSearch REST API proxied at /os/
  • Admin user: admin, with a per-instance OpenSearch password generated on first boot
  • Data disk: OpenSearch cluster data on a dedicated EBS volume at /var/lib/opensearch
  • Support: 24/7 from SecureAnyCloud

Architecture

browser --:80 nginx--> / -> 127.0.0.1:8080 Elasticvue (GUI) /os/ -> 127.0.0.1:9200 bundled OpenSearch (security on, HTTPS) /healthz -> 200 (unauthenticated health check)

Elasticvue and the OpenSearch cluster each run as a Docker container. nginx serves the Elasticvue interface on port 80 and reverse-proxies the OpenSearch REST API on the same origin at /os/. It injects the per-instance admin credential server-side, so the browser connects to the bundled cluster with no configuration and never holds the password.

Your OpenSearch data (indices, documents and metadata) is stored under /var/lib/opensearch, a dedicated, independently resizable EBS volume separate from the operating system disk. An unauthenticated health endpoint at /healthz supports load-balancer and uptime checks.

Connecting to your instance

Connect over SSH on port 22 using the EC2 key pair you selected at launch. Log in as the default user for your operating system variant:

OS variant SSH login user Example

Ubuntu 24.04 ubuntu ssh -i your-key.pem ubuntu@<instance-public-ip>

The instance security group opens port 22 (SSH), port 80 (HTTP) and port 443 (reserved for HTTPS).

Step 1 - Retrieve the generated admin password

On first boot, a one-shot service creates the bundled OpenSearch cluster with an admin password unique to your instance and records it in a root-only file. Read the file over SSH:

sudo cat /root/elasticvue-credentials.txt
# Elasticvue on Ubuntu 24.04 - generated on first boot by elasticvue-firstboot.service
# These credentials are unique to this VM. Store them somewhere safe. ELASTICVUE_URL=http://<instance-public-ip>/ OPENSEARCH_URL=http://<instance-public-ip>/os/ OPENSEARCH_USERNAME=admin OPENSEARCH_PASSWORD=<generated-password>

To confirm the application stack is healthy at any time, run:

sudo docker ps
NAMES IMAGE STATUS elasticvue cars10/elasticvue:1.15.0 Up 2 minutes opensearch opensearchproject/opensearch:3.7.0 Up 2 minutes
systemctl is-active docker nginx curl -s http://127.0.0.1/healthz
active active ok

Step 2 - Open Elasticvue

Open http://<instance-public-ip>/ in your browser. Elasticvue connects to the bundled OpenSearch cluster automatically.

The home page immediately shows cluster health, node count, shard and index totals, and full cluster and version information.

Step 3 - Browse and manage indices

Open the Indices tab to list every index with its health, document count, storage size and shard layout. Use the filter box to narrow the list.

Select New Index to create an index. To open, close, reindex, flush or delete an index, use its actions menu.

Step 4 - Search and edit documents

Open the Search tab, choose an index pattern and run a search. Matching documents appear in a filterable, sortable table where you can inspect, edit and delete individual documents.

Switch to the Aggregations view to summarize your data.

Step 5 - Inspect nodes and cluster state

Open the Nodes and Shards tabs to see the live state of the cluster: per-node version, roles, load, CPU, system RAM, JVM heap and disk usage, and how shards are allocated.

Open the REST tab for a request editor that runs any call directly against the cluster API.

Step 6 - Query the bundled cluster from the shell

The bundled OpenSearch cluster is secured with the per-instance admin password. Query it directly over HTTPS on loopback using the password from the credentials file. For example, list the indices:

PW=$(sudo grep '^OPENSEARCH_PASSWORD=' /root/elasticvue-credentials.txt | cut -d= -f2-)
curl -s -k -u "admin:$PW" 'https://127.0.0.1:9200/_cat/indices?v&s=index'

To confirm the cluster is fully functional, create an index, add a document and read it back:

PW=$(sudo grep '^OPENSEARCH_PASSWORD=' /root/elasticvue-credentials.txt | cut -d= -f2-)
curl -s -k -u "admin:$PW" -X PUT 'https://127.0.0.1:9200/demo/_doc/1?refresh=true' \
  -H 'Content-Type: application/json' -d '{"hello":"sac"}' >/dev/null
curl -s -k -u "admin:$PW" 'https://127.0.0.1:9200/demo/_doc/1?pretty'

The new document also appears right away in the Elasticvue Search tab.

Connecting to your own cluster

To administer an existing Elasticsearch or OpenSearch cluster, click the cluster name in the Elasticvue toolbar, add a new cluster, and enter its URI and credentials (or API key).

Elasticvue keeps multiple clusters and lets you switch between them from the toolbar. The bundled OpenSearch cluster remains available as the default connection.

Where things live

Item Location

Elasticvue container sudo docker ps (name elasticvue)

OpenSearch container sudo docker ps (name opensearch)

Reverse proxy systemctl status nginx (port 80)

Elasticvue app port 127.0.0.1:8080 (loopback only)

OpenSearch REST API 127.0.0.1:9200 (loopback, HTTPS) or /os/ via nginx

Cluster data disk /var/lib/opensearch (dedicated EBS volume)

Admin credentials /root/elasticvue-credentials.txt (root-only, 0600)

Health endpoint http://<instance-public-ip>/healthz

Enabling HTTPS (recommended for production)

The image serves plain HTTP on port 80. For production, put the instance behind TLS. Either terminate HTTPS at an AWS Application Load Balancer with an ACM certificate, or install a certificate for your domain directly in nginx. Port 443 is already open in the security group.

Restrict inbound access to port 80 to trusted networks, because the bundled cluster is reachable through the browser interface.

Support

SecureAnyCloud provides 24/7 technical support by email and chat. We can help with deployment, HTTPS and reverse-proxy configuration, connecting Elasticvue to your own clusters, index and security configuration, and storage and upgrade planning.

All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Deploy on AWS

Launch Elasticvue with 24/7 support from SecureAnyCloud.

View on Marketplace

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on AWS