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.


Production-ready Elasticsearch with 4GB heap
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Elasticsearch Production 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 Production template. Server Compass fills the secured Elasticsearch container, persistent data volume, HTTP port, transport port, 4 GB heap settings, and generated elastic password.

Confirm the app name and compose service. In this run, the app was named elasticsearch-production-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 Production app is marked Running with the database port available.

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

The Elasticsearch Production 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 a larger JVM heap for production-oriented workloads.
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 Production template detail page and be linked from the reusable template deployment docs page.
Take the DIY route and deploy Elasticsearch (Production) on your own server using Docker.
Initiate a secure shell connection to your server using the command below.
# Connect to your VPS
ssh root@your-server-ip
# Or with a specific SSH key
ssh -i ~/.ssh/your-key root@your-server-ipFirst time? Docker required! Install it with: curl -fsSL https://get.docker.com | sh
Organize your deployment by creating a dedicated project folder.
# Create and navigate to project directory
mkdir -p ~/apps/elasticsearch-production
cd ~/apps/elasticsearch-productionCreate a new docker-compose.yml file and paste this configuration:
services:
elasticsearch:
image: elasticsearch:8.11.0
ports:
- "9201:9200"
- "9301:9300"
environment:
- discovery.type=single-node
- xpack.security.enabled=true
- ELASTIC_PASSWORD=<your-elastic-password>
- "ES_JAVA_OPTS=-Xms4g -Xmx4g"
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: 9201)TRANSPORT_PORTTransport port for cluster communication(default: 9301)ELASTIC_PASSWORDElastic user passwordStart the services and tail the logs to verify startup.
# Spin up containers
docker compose up -d
# Verify deployment
docker compose ps
# Check logs for errors
docker compose logs -fOpen the required port in your firewall to allow access.
# Allow the application port through firewall
sudo ufw allow 9201/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:9201Forget SSH and YAML files. Deploy Elasticsearch (Production) visually with Server Compass in just a few clicks.
After deploying Elasticsearch (Production) with Server Compass, complete these steps to finish setup
Configure vm.max_map_count on host
Test cluster health
Create indices with proper mappings
Set up ILM policies
Configure snapshot repository for backups
Set up monitoring dashboards
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Elasticsearch (Production)
Simply download Server Compass, connect to your VPS, and select Elasticsearch (Production) from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Elasticsearch (Production) requires a minimum of 8192MB RAM. We recommend a VPS with at least 16384MB 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 (Production) backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Elasticsearch (Production) image will be pulled and deployed with zero downtime.
Elasticsearch (Production) 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 (Production) to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass