
Elasticsearch selbst hosten - der einfache Weg
Yulei ChenElasticsearch ist die beliebteste Open-Source-Such- und Analytics-Engine. Sie steckt hinter Volltextsuche, Log-Analyse und Echtzeit-Datenauswertung bei tausenden Unternehmen. Elastic Cloud ist praktisch, aber die Preise starten bei $95/Monat und steigen schnell mit dem Datenvolumen.
Sliplane ist eine Managed-Container-Plattform, die Self-Hosting schmerzlos macht. Mit One-Click-Deployment läuft Elasticsearch in wenigen Minuten - kein Server-Setup, keine Reverse-Proxy-Config, keine Infrastruktur zum Verwalten.
Voraussetzungen
Vor dem Deploy brauchst du einen Sliplane-Account (kostenlose Trial verfügbar).
Quick Start
Sliplane bietet One-Click-Deployment mit Presets.
- Klick auf den Deploy-Button oben
- Wähl ein Projekt
- Wähl einen Server (wenn du dich gerade erst angemeldet hast, bekommst du einen 48-Stunden-Trial-Server)
- Klick auf Deploy!
Über das Preset
Der One-Click-Deploy oben nutzt Sliplanes Elasticsearch-Preset. Das Preset ist für ein sauberes, produktionsreifes Single-Node-Setup gedacht:
- Wolfi-basiertes Image (
elasticsearch-wolfi) für weniger Overhead und bessere Security - Spezifischer Version-Tag (
8.19.0) für Stabilität - Single-Node Discovery-Modus, ideal für Self-Hosting
- Security standardmäßig deaktiviert für einfachen Einstieg
- JVM-Heap auf 512 MB gesetzt (passend für den 2 GB Base Server)
- Persistenter Storage gemountet auf
/usr/share/elasticsearch/data
Nächste Schritte
Sobald Elasticsearch auf Sliplane läuft, erreichst du es über die Domain, die Sliplane dir gibt (z.B. elasticsearch-xxxx.sliplane.app).
Du kannst prüfen, ob alles funktioniert, indem du die Root-URL im Browser aufrufst. Du solltest eine JSON-Antwort mit dem Cluster-Namen, der Version und dem Slogan "You Know, for Search" sehen.
Security aktivieren
Das Preset kommt mit deaktivierter Security, damit Healthcheck und initiales Setup reibungslos funktionieren. So aktivierst du Authentifizierung:
- Geh zu deinen Service-Einstellungen auf Sliplane
- Füg diese Environment-Variablen hinzu oder aktualisiere sie:
xpack.security.enabled=trueELASTIC_PASSWORD= dein gewähltes Passwort
- Redeploy den Service
Nach dem Aktivieren der Security nutzt du elastic als Username und dein gewähltes Passwort zur Authentifizierung. Alle API-Requests brauchen dann eine Authentifizierung, auch von verbundenen Services.
Verbindung von anderen Services
Wenn du einen anderen Service auf dem gleichen Sliplane-Server hast (z.B. eine Backend-API oder Grafana), kannst du dich per internem Service-Namen mit Elasticsearch verbinden. Der Standard-Port ist 9200.
JVM-Speicher anpassen
Das Preset setzt den JVM-Heap auf 512 MB per ES_JAVA_OPTS. Wenn du auf einen größeren Server upgradest, kannst du den Wert erhöhen. Als Faustregel gilt: Heap auf etwa die Hälfte des verfügbaren RAMs setzen, aber nie mehr als ~26 GB. Zum Beispiel auf einem 4 GB Server:
| Setting | Wert |
|---|---|
ES_JAVA_OPTS | -Xms1g -Xmx1g |
Logging
Elasticsearch loggt standardmäßig nach STDOUT, was gut mit Sliplanes eingebautem Log-Viewer funktioniert. Allgemeine Docker-Log-Tipps findest du in unserem Post how to use Docker logs.
Kostenvergleich
Natürlich kannst du Elasticsearch auch bei anderen Cloud-Anbietern selbst hosten. Hier ein Preisvergleich der gängigsten:
| Anbieter | vCPU | RAM | Disk | Monatliche Kosten | Hinweis |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 (~$10.65) | Flatrate, 1 TB Bandwidth, SSL inklusive |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk und Bandwidth extra |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB Bandwidth, Disk extra |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 Plan | Pro-Plan-Minimum, nutzungsbasiert, Bandwidth extra |
Klick hier, um die Berechnung zu sehen.
(Angenommen eine always-on Instanz mit 730 Stunden/Monat)
- Sliplane: Flat €9/Monat für den Base Server. Unbegrenzte Services auf demselben Server, 1 TB Egress und SSL inklusive.
- Fly.io:
shared-cpu-2x2 GB = $11.83/Monat + 40 GB Volume × $0.15/GB = $6 -> ~$17.83/Monat. Egress wird separat berechnet ($0.02/GB in der EU). - Render: Nächstliegendes Angebot ist Standard ($25, 1 vCPU / 2 GB) plus 40 GB Disk × $0.25/GB = $10 -> ~$35/Monat. Pro (2 vCPU / 4 GB) kostet $85/Monat + Disk.
- Railway (Pro Plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; Volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/Monat Compute, plus $20/Monat Pro-Plan-Minimum und $0.05/GB Egress.
Bandwidth-Kosten können bei nutzungsbasierten Anbietern schnell steigen. Nutz unser Bandwidth-Kostenvergleichs-Tool, um zu sehen, was dein Egress bei jeder Plattform kosten würde.
FAQ
Wofür wird Elasticsearch eingesetzt?
Elasticsearch ist eine verteilte Such- und Analytics-Engine. Typische Einsatzgebiete sind Volltextsuche für Websites und Apps, Log- und Event-Datenanalyse (oft zusammen mit Kibana), Application Performance Monitoring und Echtzeit-Analytics. Es ist das "E" im ELK Stack (Elasticsearch, Logstash, Kibana).
Wie konfiguriere ich Elasticsearch in Docker?
Elasticsearch in Docker wird über Environment-Variablen konfiguriert. Die wichtigsten sind discovery.type (auf single-node für Standalone-Betrieb), ES_JAVA_OPTS (JVM-Heap-Größe) und die xpack.*-Settings für Security und Features. Die vollständige Liste findest du in der Elasticsearch Docker-Dokumentation.
Wie aktualisiere ich Elasticsearch?
Änder den Image-Tag in deinen Service-Einstellungen auf Sliplane und redeploy. Prüf die Elasticsearch Docker Image Tags für die neueste stabile Version. Schau dir immer die Release Notes an, bevor du upgradest - besonders bei Major-Version-Änderungen.
Gibt es Alternativen zu Elasticsearch?
Ja, beliebte Alternativen sind Qdrant (Vektorsuche für AI-Anwendungen), Typesense (entwicklerfreundliche Such-Engine), Meilisearch (leichtgewichtige Instant-Suche) und Apache Solr (bewährte Volltextsuche). Die beste Wahl hängt von deinem Use Case ab - Elasticsearch glänzt bei Log-Analytics und komplexen Queries, während neuere Tools für einfache Suche simpler sein können.
Wie verbinde ich Kibana mit Elasticsearch auf Sliplane?
Deploy Kibana als separaten Service auf dem gleichen Sliplane-Server. Setz die Environment-Variable ELASTICSEARCH_HOSTS auf deinen Elasticsearch-Service mit dem internen Service-Namen (z.B. http://elasticsearch-xxxx:9200). Wenn du Security auf Elasticsearch aktiviert hast, setz außerdem ELASTICSEARCH_USERNAME auf elastic und ELASTICSEARCH_PASSWORD auf dein Passwort.