• Docs
  • Changelog
Sign in
Get started
    • Home
    • Your first deploy
    • Free instances
    • Platform features by plan
    • Use with coding agents
    • FAQ
    • Templates
      • Migrate from…
        • Heroku
        • Railway
    • Compute plans
    • SandboxesBeta
      • Service types
        • Which to use?
        • Static sites
        • Web services
        • Private services
        • Background workers
        • Cron jobs
        • Workflows
        • Multi-service architectures
      • Data storage
        • Render Postgres
        • Render Key Value (Redis®-compatible)
        • Persistent disks
    • How deploys work
    • Supported languages
    • Git providers (GitHub, etc.)
    • Build pipeline
    • Deploy hooks
    • Monorepo support
    • Troubleshooting deploys
      • Previewing changes
        • Single-service previews
        • Preview environments (multi-service)
      • Docker deploys
        • Overview
        • Deploy a registered image
        • Using secrets
      • Runtime
        • Native runtimes
        • Environment variables & secrets
        • Default environment variables
    • Intro to sandboxes
    • Limits
      • How to…
        • Create & configure sandboxes
        • Execute commands
        • Manage files
        • Manage snapshots
      • Use with…
        • Claude Managed Agents
        • Cursor Cloud Agents
        • OpenAI Agents API
      • SDK/CLI reference
        • TypeScript SDK
        • Python SDK
        • CLI commands
    • Intro to workflows
    • Tutorial
    • Limits & pricing
      • How to…
        • Define tasks
        • Define flowsNew
        • Trigger runs
        • Develop locally
      • SDK reference
        • TypeScript SDK
        • Python SDK
      • Example workflows
        • TypeScript examples
        • Python examples
    • Overview
    • Create & connect
    • Database credentials
    • Extensions
    • Version upgrades
    • Logical replication
    • Legacy instance types
      • Database recovery
        • Recovery & backups
        • High availability
      • Database performance
        • Read replicas
        • Connection pooling
        • Admin apps
        • Repacking tables
        • Troubleshooting performance
    • Regions
    • Inbound IP rules
    • Edge caching
    • WebSockets
    • TLS certificates
      • Custom domains
        • Overview
        • Cloudflare
        • Namecheap
        • Other DNS providers
      • Internal traffic
        • Private network
        • Private links
      • Outbound traffic
        • Default IP ranges
        • Dedicated IP addresses
        • Outbound bandwidth
        • Handling network changes
      • Static site config
        • Custom response headers
        • Redirects & rewrites
    • The Render Dashboard
    • SSH / Shell access
    • Projects & environments
      • Service actions
        • Scaling
        • Rollbacks
        • Maintenance mode
        • One-off jobs
      • Infrastructure as code
        • Blueprints overview
        • render.yaml reference
        • Terraform provider
    • In-dashboard metrics
    • Health checks
    • Uptime best practices
      • Logging
        • In-dashboard logs
        • Log streams (syslog/HTTPS)
      • OpenTelemetry (OTel) metrics
        • Provider setup
        • Metrics reference
      • Notifications
        • Webhooks
        • Email / Slack
    • MCP Server
      • Render CLI
        • Overview
        • Command reference
      • REST API
        • Overview
        • API reference
      • Third-party connections
        • OIDC support
        • Datadog
    • Workspaces, members, & roles
    • Login settings
    • Audit logs
      • Organizations
        • Overview
        • SAML SSO
    • DDoS protection
    • Platform maintenance
      • Compliance
        • Overview
        • HIPAA (US health data)
        • HIPAA best practices
        • Shared responsibility model
        • Pentest policy
    • Heroku vs Render
    • Vercel vs Render

Deploy Elasticsearch

Elasticsearch is a popular open source search server used to index and query documents efficiently over a simple HTTP interface. Render Disks make it effortless to deploy production-grade Elasticsearch on Render.

This guide shows how to deploy a single node Elasticsearch instance as a private service that is only exposed to other Render services in your account, and can't be accessed over the Internet. Let's get started!

One-Click Deploy

Click Deploy to Render below and follow the prompts to set up a single node Elasticsearch instance on Render.

Deploy to Render

Manual Deploy

  1. Fork render-examples/elasticsearch on GitHub or GitLab.

  2. Create a new Private Service on Render, and give Render permission to access your new repo.

  3. Set the Language field to Docker and add the following environment variables:

    KeyValue
    ES_JAVA_OPTS-Xms256m -Xmx256m
    discovery.typesingle-node

    If you upgrade your compute plan to increase memory, remember to change the ES_JAVA_OPTS environment variable to at most 50% of the new limit. Elasticsearch generally needs more memory than is available with our 0.5c-512mb compute plan, especially for production use.

  4. Add a Disk under Advanced with the following values:

    Mount Path/usr/share/elasticsearch/data
    Size10 GB Feel free to change this to suit your needs.

That's it! Save your private service to bring up Elasticsearch which will take a few minutes to start. Future deploy should be much faster.

Your Elasticsearch instance will be available on your private service URL as soon as the deploy is live. The URL should look like elastic:9200.

Elastic

You can then open the shell in your service dashboard to interact with Elasticsearch using the private service name and port.

You can also connect to Elasticsearch from your application using the name and port for your new service. Learn more about Elasticsearch.

Deploy Elasticsearch
  • One-Click Deploy
  • Manual Deploy
All Systems Operational
© Render Inc. All rights reserved.