Back to all templates
Elasticsearch (Production) logo

Elasticsearch (Production)

Database8192MB+ RAM

Production-ready Elasticsearch with 4GB heap

databasesearchanalyticsproduction

Deploy Elasticsearch (Production) in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Elasticsearch (Production)

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Elasticsearch Production on a VPS with Server Compass

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.

About 10 minutesBrowser verified
1
Step 1

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.

Server Compass Apps tab before creating an Elasticsearch Production app
2
Step 2

Choose an app template

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

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Elasticsearch Production

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

Searching for Elasticsearch in the Server Compass template picker
4
Step 4

Select the Elasticsearch Production template

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.

Elasticsearch Production template selected in Server Compass
5
Step 5

Review the Elasticsearch Production settings

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

Reviewing Elasticsearch project settings and compose services
6
Step 6

Deploy Elasticsearch Production

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

Reviewing Elasticsearch environment variables and port before deployment
7
Step 7

Watch the deployment progress

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

Server Compass deploying the Elasticsearch Production template on the VPS
8
Step 8

Confirm Elasticsearch Production is running

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

Elasticsearch Production template running in the Server Compass Apps tab
9
Step 9

Verify Elasticsearch Production is reachable

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.

Elasticsearch Production app detail screen after verifying the deployed database container

After Elasticsearch (Production) Opens

  • Store the generated elastic password in a secure password manager.
  • Create application-specific Elasticsearch users and roles before production use.
  • Restrict external access to port 9200 unless remote clients explicitly need it.
  • Configure regular backups for the Elasticsearch data volume before storing production data.
  • Tune heap size and disk watermarks before production workloads.

Verified Result

The Elasticsearch Production container returned an accepted cluster health status from the internal HTTP endpoint.

Elasticsearch (Production) deployment questions

What does the Elasticsearch Production template deploy?

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.

Which port did the tutorial use?

The tutorial used host port 9200, which maps to Elasticsearch HTTP port 9200. The template also checks the transport port used by Elasticsearch internals.

Why is there no browser verification screenshot?

Elasticsearch is a service API, not a normal browser application. The tutorial verifies it with an authenticated cluster health request inside the running container.

Should this become a blog post?

No. The deployment guide should live on the Elasticsearch Production template detail page and be linked from the reusable template deployment docs page.

DIY Deployment

Self-Host Elasticsearch (Production) with Docker

Take the DIY route and deploy Elasticsearch (Production) on your own server using Docker.

1

Remote into Your Server

Initiate a secure shell connection to your server using the command below.

terminal
# Connect to your VPS
ssh root@your-server-ip

# Or with a specific SSH key
ssh -i ~/.ssh/your-key root@your-server-ip

First time? Docker required! Install it with: curl -fsSL https://get.docker.com | sh

2

Create the App Directory

Organize your deployment by creating a dedicated project folder.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/elasticsearch-production
cd ~/apps/elasticsearch-production
3

Write Your docker-compose.yml

Create a new docker-compose.yml file and paste this configuration:

docker-compose.yml
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:
Configurable Options
PORTHTTP API port(default: 9201)
TRANSPORT_PORTTransport port for cluster communication(default: 9301)
ELASTIC_PASSWORDElastic user password
4

Launch the Containers

Start the services and tail the logs to verify startup.

terminal
# Spin up containers
docker compose up -d

# Verify deployment
docker compose ps

# Check logs for errors
docker compose logs -f
5

Open Firewall Ports

Open the required port in your firewall to allow access.

terminal
# Allow the application port through firewall
sudo ufw allow 9201/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:9201
Skip the Terminal

Want the easy way? Try Server Compass.

Forget SSH and YAML files. Deploy Elasticsearch (Production) visually with Server Compass in just a few clicks.

  • Visual config editor
  • Instant deployment
  • Automatic HTTPS
  • Smooth updates
  • Live monitoring
  • Quick rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Elasticsearch (Production) with Server Compass, complete these steps to finish setup

1

Configure vm.max_map_count on host

2

Test cluster health

3

Create indices with proper mappings

4

Set up ILM policies

5

Configure snapshot repository for backups

6

Set up monitoring dashboards

Need help? Check out our documentation for detailed guides.

Elasticsearch (Production) FAQ

Common questions about self-hosting Elasticsearch (Production)

How do I deploy Elasticsearch (Production) with Server Compass?

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.

What are the system requirements for Elasticsearch (Production)?

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.

Can I migrate my existing Elasticsearch (Production) data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Elasticsearch (Production) backup and restore procedures.

How do I update Elasticsearch (Production) to the latest version?

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.

Is Elasticsearch (Production) free to self-host?

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.

Ready to Self-Host Elasticsearch (Production)?

Download Server Compass and deploy Elasticsearch (Production) to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass