
Weaviate einfach selbst hosten
Yulei ChenWeaviate ist eine Open-Source Vektor-Datenbank, die sowohl Objekte als auch Vektoren speichert. Du kannst Vektor-Suche mit strukturiertem Filtern kombinieren - perfekt für AI-Anwendungen, semantische Suche und RAG-Pipelines. Weaviate Cloud bietet eine Managed-Option, aber die Kosten skalieren mit der Nutzung und du verlierst die Kontrolle über deine Daten.
Sliplane ist eine Managed Container Platform, die Self-Hosting schmerzfrei macht. Mit One-Click Deployment hast du Weaviate in Minuten am Laufen - kein Server-Setup, keine Reverse-Proxy-Config, keine Infrastruktur zum Verwalten.
Voraussetzungen
Bevor du loslegst, brauchst du einen Sliplane Account (kostenlose Testphase verfügbar).
Schnellstart
Sliplane bietet One-Click Deployment mit Presets.
- Klick auf den Deploy-Button oben
- Wähl ein Projekt aus
- Wähl einen Server aus. Wenn du dich gerade angemeldet hast, bekommst du einen 48-Stunden Trial-Server
- Klick auf Deploy!
Was ist im Preset?
Das One-Click Deploy oben nutzt Sliplane's Weaviate Preset. Das ist enthalten:
- Weaviate 1.37.2 aus der offiziellen
cr.weaviate.ioRegistry - Persistenter Storage gemountet auf
/var/lib/weaviate - API-Key Authentication standardmäßig aktiviert (ein zufälliger Key wird für dich generiert)
- Anonymer Zugriff aus Sicherheitsgründen deaktiviert
- Telemetrie deaktiviert
- Default Vectorizer auf
nonegesetzt, damit du deinen eigenen wählen kannst - OpenAI-Module aktiviert (
text2vec-openai,generative-openai,qna-openai) - Memory-Limit auf
1024 MiBund max CPU-Threads auf2für stabile Performance auf kleineren Servern
Nächste Schritte
Sobald Weaviate auf Sliplane läuft, erreichst du es über die Domain, die Sliplane dir zugewiesen hat (z.B. weaviate-xxxx.sliplane.app).
Mit deinem API-Key authentifizieren
Das Preset generiert einen zufälligen API-Key für dich. Du findest ihn in der AUTHENTICATION_APIKEY_ALLOWED_KEYS Umgebungsvariable in deinen Service-Settings. Nutz diesen Key im Authorization-Header bei Requests:
curl https://weaviate-xxxx.sliplane.app/v1/meta \
-H "Authorization: Bearer YOUR_API_KEY"
Oder mit dem Weaviate Python Client:
import weaviate
client = weaviate.connect_to_custom(
http_host="weaviate-xxxx.sliplane.app",
http_port=443,
http_secure=True,
grpc_host="weaviate-xxxx.sliplane.app",
grpc_port=443,
grpc_secure=True,
auth_credentials=weaviate.auth.AuthApiKey("YOUR_API_KEY"),
)
Umgebungsvariablen, die du anpassen kannst
| Variable | Default | Beschreibung |
|---|---|---|
ENABLE_MODULES | text2vec-openai,generative-openai,qna-openai | Komma-getrennte Liste der Module |
DEFAULT_VECTORIZER_MODULE | none | Default-Vectorizer für neue Collections |
QUERY_DEFAULTS_LIMIT | 1000 | Standard-Limit für Query-Ergebnisse |
LOG_LEVEL | info | Log-Detail (debug, info, warning, error) |
GOMEMLIMIT | 1024MiB | Go Runtime Memory-Limit |
GOMAXPROCS | 2 | Max CPU-Threads für die Go Runtime |
Wenn du einen anderen Vectorizer nutzen willst (z.B. Cohere oder Hugging Face), pass ENABLE_MODULES entsprechend an. In der Weaviate Modules Dokumentation findest du die vollständige Liste.
Logging
Weaviate loggt standardmäßig auf STDOUT, was perfekt mit Sliplane's eingebautem Log-Viewer funktioniert. Wenn du mehr Details zum Debuggen brauchst, setz LOG_LEVEL auf debug. Allgemeine Docker-Log-Tipps findest du in unserem Post how to use Docker logs.
Troubleshooting
Falls Weaviate langsam startet oder der Speicher knapp wird, versuch GOMEMLIMIT und GOMAXPROCS an die Ressourcen deines Servers anzupassen. Auf einem 2 GB Server sind 1024MiB und 2 gute Defaults.
Du kannst prüfen, ob Weaviate gesund ist, indem du den Readiness-Endpoint aufrufst:
curl https://weaviate-xxxx.sliplane.app/v1/.well-known/ready
Kostenvergleich
Natürlich kannst du Weaviate auch bei anderen Cloud-Anbietern self-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 Bandbreite, SSL inklusive |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk und Bandbreite separat abgerechnet |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB Bandbreite, Disk separat abgerechnet |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 Plan | Pro-Plan-Minimum, nutzungsbasiert, Bandbreite separat |
Klick hier, um die Berechnungsgrundlage zu sehen.
(Angenommen eine dauerhaft laufende Instanz mit 730 Stunden/Monat)
- Sliplane: pauschal €9/Monat für den Base Server. Unbegrenzte Services auf dem gleichen Server, 1 TB Egress und SSL inklusive.
- Fly.io:
shared-cpu-2x2 GB = $11.83/Mo + 40 GB Volume × $0.15/GB = $6 -> ~$17.83/Mo. Egress separat ($0.02/GB in EU). - Render: nächste Entsprechung ist Standard ($25, 1 vCPU / 2 GB) plus 40 GB Disk × $0.25/GB = $10 -> ~$35/Mo. Upgrade auf Pro (2 vCPU / 4 GB) kostet $85/Mo + 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/Mo Compute, plus $20/Mo Pro-Plan-Minimum und $0.05/GB Egress.
Bandbreitenkosten können bei nutzungsbasierten Anbietern schnell anwachsen. Nutz unser Bandbreiten-Kostenvergleich-Tool, um zu sehen, was dein Egress bei jeder Plattform kosten würde.
FAQ
Wofür kann ich Weaviate nutzen?
Weaviate eignet sich ideal für AI-basierte Suche, Empfehlungs-Engines, RAG-Pipelines (Retrieval-Augmented Generation) und jede Anwendung, die semantische Ähnlichkeitssuche braucht. Du speicherst Objekte mit ihren Vektor-Embeddings und fragst sie per natürlicher Sprache oder Vektor-Ähnlichkeit ab. Es unterstützt auch hybride Suche, die Vektoren mit klassischem Keyword-Filtering (BM25) kombiniert.
Wie konfiguriere ich Vectorizer-Module?
Setz die Umgebungsvariable ENABLE_MODULES auf eine komma-getrennte Liste der gewünschten Module. Um z.B. Cohere statt OpenAI zu nutzen, setz sie auf text2vec-cohere,generative-cohere. Dann setz DEFAULT_VECTORIZER_MODULE auf deinen bevorzugten Default. Du musst auch den entsprechenden API-Key (z.B. COHERE_APIKEY) als Umgebungsvariable angeben.
Wie update ich Weaviate?
Änder den Image-Tag in deinen Service-Settings von cr.weaviate.io/semitechnologies/weaviate:1.37.2 auf die neue Version und deploye neu. Auf der Weaviate GitHub Releases Seite findest du die neueste stabile Version. Weaviate führt Daten-Migrationen beim Start automatisch durch.
Gibt es Alternativen zu Weaviate?
Ja. Qdrant ist eine weitere beliebte Open-Source Vektor-Datenbank, die du auf Sliplane self-hosten kannst. Weitere Optionen sind Milvus, Chroma und Pinecone (nur Cloud). Jede hat unterschiedliche Trade-offs bei Performance, API-Design und Feature-Set.
Kann ich Weaviate ohne externen Embedding-Anbieter nutzen?
Ja. Setz DEFAULT_VECTORIZER_MODULE auf none und liefere deine eigenen Vektoren beim Daten-Import. So kannst du jedes Embedding-Modell nutzen, das du willst (auch lokale, die z.B. auf Ollama laufen) und die resultierenden Vektoren einfach in Weaviate speichern.