Open the server Apps tab
Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.


Distributed search and analytics engine (512MB heap for development)
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Elasticsearch template in Server Compass to deploy a secured single-node search and analytics engine on your VPS, then verify cluster health from inside the container.
Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Use the template picker search to find Elasticsearch in the Server Compass template catalog.

Choose the Elasticsearch template. Server Compass fills the secured Elasticsearch container, persistent data volume, HTTP port, transport port, heap settings, and generated elastic password.

Confirm the app name and compose service. In this run, the app was named elasticsearch-demo and used host port 9200.

Review the generated environment values, keep the elastic password masked, confirm the HTTP and transport ports are available, and click Deploy Now.

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Elasticsearch image, starts the container, and verifies the stack.

After deployment finishes, return to the Apps tab and confirm the Elasticsearch app is marked Running with the database port available.

Open the app detail view and verify the running Elasticsearch container. In this tutorial run, the internal cluster health endpoint returned a healthy status without exposing the generated password.

The Elasticsearch container returned an accepted cluster health status from the internal HTTP endpoint.
It deploys a secured single-node Elasticsearch container with a persistent data volume, HTTP port, transport port, generated elastic password, and configured JVM heap.
The tutorial used host port 9200, which maps to Elasticsearch HTTP port 9200. The template also checks the transport port used by Elasticsearch internals.
Elasticsearch is a service API, not a normal browser application. The tutorial verifies it with an authenticated cluster health request inside the running container.
No. The deployment guide should live on the Elasticsearch template detail page and be linked from the reusable template deployment docs page.
Set up Elasticsearch yourself using Docker Compose and the command line.
Connect to your remote server using SSH. Make sure you have your server credentials ready.
# Log into your server
ssh root@<your-server-ip>
# If using key-based auth
ssh -i ~/.ssh/my-key root@<your-server-ip>First time? Docker not installed? Run: curl -fsSL https://get.docker.com | sh
Set up a directory to store your Docker configuration.
# Create and navigate to project directory
mkdir -p ~/apps/elasticsearch
cd ~/apps/elasticsearchAdd this configuration to your docker-compose.yml file:
services:
elasticsearch:
image: elasticsearch:8.11.0
ports:
- "9200:9200"
- "9300:9300"
environment:
- discovery.type=single-node
- xpack.security.enabled=true
- ELASTIC_PASSWORD=<your-elastic-password>
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "curl -s -u elastic:<your-elastic-password> http://localhost:9200/_cluster/health | grep -q 'green\\|yellow'"]
interval: 30s
timeout: 10s
retries: 5
volumes:
elasticsearch_data:
PORTHTTP API port(default: 9200)TRANSPORT_PORTTransport port for cluster communication(default: 9300)ELASTIC_PASSWORDElastic user passwordExecute the deployment and check the container status.
# Deploy the application
docker compose up -d
# Check container health
docker compose ps
# Monitor logs
docker compose logs -f --tail=100Enable network access by updating your firewall rules.
# Allow the application port through firewall
sudo ufw allow 9200/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:9200No terminal needed. Deploy Elasticsearch through a visual dashboard with automatic configuration.
After deploying Elasticsearch with Server Compass, complete these steps to finish setup
Test cluster health via API
Create indices for your data
Set up index templates and mappings
Configure ILM policies for data retention
Set up monitoring with Kibana
For production, upgrade to Elasticsearch Production template
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Elasticsearch
Simply download Server Compass, connect to your VPS, and select Elasticsearch from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Elasticsearch requires a minimum of 2048MB RAM. We recommend a VPS with at least 4096MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Elasticsearch backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Elasticsearch image will be pulled and deployed with zero downtime.
Elasticsearch is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Download Server Compass and deploy Elasticsearch to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass