Deploy OpenSearch

Deploy a single-node OpenSearch instance on Railway.

Deploy OpenSearch

Just deployed

OpenSearch

Template Header

OpenSearch is an open-source, distributed search and analytics engine forked from Elasticsearch, widely used for full-text search, log analytics, and observability dashboards. This Railway template deploys a single-node OpenSearch instance pre-configured with the security plugin enabled, a tuned JVM heap size for smaller Railway plans, and persistent storage support via a mounted volume.

Deploy on Railway

🏗️ Architecture

flowchart LR
    Client(["🌐 Client"]) -->|HTTPS| Domain["Railway Public Domain"]
    Domain -->|"$PORT"| Entry["railway-opensearch-entrypoint"]
    Entry --> App["Container\nopensearch:3.7.0"]
    App --> Volume[("Volume\n/usr/share/opensearch/data")]

Environment variables

OPENSEARCH_INITIAL_ADMIN_PASSWORD=replace-with-strong-password

OPENSEARCH_INITIAL_ADMIN_PASSWORD is required — set it as a generated secret in the Railway dashboard. OpenSearch 2.12+ refuses to start without it.

Persistent storage

Attach a Railway volume and mount to:

  • /usr/share/opensearch/data

The template enforces this with requiredMountPath in railway.toml.

Notes

  • The published template generates the initial administrator password and attaches the data volume. Railway's unauthenticated HTTP healthcheck is intentionally unset; use an authenticated TLS-aware client to query /_cluster/health.

  • TLS configuration is still required before first boot. The image disables the upstream demo installer, so a generated password alone does not provide certificates or security configuration. Supply a complete opensearch.yml, node certificates and trusted CA following OpenSearch's TLS configuration guide. This template is not a complete one-click production installation yet.

  • The security plugin is enabled by default (no DISABLE_SECURITY_PLUGIN override); admin auth is required to access the cluster.

  • For production, use a strong OPENSEARCH_INITIAL_ADMIN_PASSWORD and configure TLS as needed beyond the defaults.

  • JVM heap is tuned to 512m by default for smaller plans.


Airbyte Apache Airflow CloudBeaver CodiMD Django Email Service FastAPI Flask Flowise GitLab CE Grafana Home Assistant InfluxDB MJML MongoDB Mosquitto MQTT MySQL n8n Node.js Node-RED OpenSearch Open WebUI Operately Outerbase Studio PostgreSQL Redis TYPO3 CMS


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
50
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51