Zum Inhalt springen
Nibiru docsv0.9.2

Die Dokumentationssite bereitstellen

Produktionsbereitstellung von nibiru-framework.com mit jwilder/nginx-proxy und Ihrem eigenen Ollama auf Ihrer Ollama-Instanz.

Stable Reading time ~ 4 min Edit on GitHub

Diese Seite dokumentiert, wie die Dokumentationssite in der Produktionsumgebung bereitgestellt wird. Die Einrichtung verwendet jwilder/nginx-proxy für automatische Docker-Containerrouting, letsencrypt-nginx-proxy-companion für HTTPS und Ihre eigene Ollama unter your-ollama-host.example für den Oracle-Backend — keine bezahlten LLM-API-Schlüssel erforderlich.

Internet
┌──────────────────────┐
│ jwilder/nginx-proxy │ ← reverse proxy on :80 / :443
│ (network: nginx-proxy)│ terminates TLS
└──────────┬───────────┘
│ http://nibiru-docs:4321
┌──────────────────────┐ ┌──────────────────────┐
│ nibiru-docs │ ──────▶ │ your-ollama-host.example │
│ Astro Node SSR :4321 │ HTTPS │ Ollama (5× GPU) │
│ Oracle endpoint │ │ qwen2.5-coder:14b │
└──────────────────────┘ │ nomic-embed-text │
└──────────────────────┘
Terminal-Fenster
# 1) Create the shared external network (one time)
docker network create nginx-proxy
# 2) Run nginx-proxy + acme-companion (one time)
# See https://github.com/nginx-proxy/nginx-proxy for the canonical compose.
# 3) Pull the Oracle's models on your Ollama instance (one time)
curl https://your-ollama-host.example/api/pull -d '{"name":"qwen2.5-coder:14b"}'
curl https://your-ollama-host.example/api/pull -d '{"name":"nomic-embed-text"}'
DateiZweck
DockerfileMehrstufiger Build: erstellt Oracle-Index gegen your Ollama instance, baut Astro, entfernt Entwicklungsabhängigkeiten.
docker-compose.ymlProduktion — VIRTUAL_HOST=nibiru-framework.com, verbunden mit dem Netzwerk nginx-proxy.
docker-compose.local.ymlLokale-Test-Überschreibung — macht Port 4321:4321 verfügbar, entfernt Umgebungsvariablen von nginx-proxy.
.dockerignoreVerhindert, dass node_modules, .git usw. in den Build-Kontext aufgenommen werden.
.env.exampleVorlage — standardmäßig verwendet Ollama auf Ihrer Ollama-Instanz, keine API-Schlüssel erforderlich.
Terminal-Fenster
cd docs
cp .env.example .env
# defaults are fine for production unless you want to override the Ollama URL or models
docker compose up -d --build

Der erste Build führt build-oracle-index.mjs aus, um die Dokumentation in Ihr Ollama einzubetten. Nachfolgende Neuaufbauten sind schnell – Docker speichert den Abhängigkeitslayer im Cache; nur geänderte Blöcke müssen erneut eingebettet werden.

Nach etwa 30 Sekunden erkennt jwilder/nginx-proxy den neuen Container und fordert ein Let’s Encrypt-Zertifikat an. Anschließend leitet es https://nibiru-framework.com zu :4321 weiter.

Terminal-Fenster
curl -s https://nibiru-framework.com/api/oracle | jq
# {
# "status": "ok",
# "llm": { "provider": "ollama", "model": "qwen2.5-coder:14b", … },
# "embed": { "provider": "ollama", "model": "nomic-embed-text", … },
# "index": { "present": true, "chunks": 177, … }
# }

Oder öffnen Sie die Seite im Browser, klicken Sie auf den gelben Oracle-Launcher und stellen Sie eine Frage.

Terminal-Fenster
git pull
docker compose up -d --build

Der Build führt den Oracle-Index erneut gegen den neuesten Inhalt aus; der neue Container startet auf :4321; jwilder wechselt den Upstream; der alte Container wird gestoppt – kein auffälliger Ausfallzeitraum.

VarDefaultUsed atPurpose
LLM_PROVIDERollamaruntimeollama (default) oder anthropic.
OLLAMA_BASE_URLhttps://your-ollama-host.examplebuild + runtimeWo Ollama erreichbar ist.
OLLAMA_CHAT_MODELqwen2.5-coder:14bruntimeChat-Vervollständigungsmodell.
OLLAMA_EMBED_MODELnomic-embed-textbuild + runtimeEinbettungsmodell.
EMBED_PROVIDERollamabuild + runtimeollama oder openai.
ANTHROPIC_API_KEYruntimeNur verwendet, wenn LLM_PROVIDER=anthropic.
ANTHROPIC_MODELclaude-haiku-4-5-20251001runtimeClaude-Modell überschreiben.
OPENAI_API_KEYbuild + runtimeNur verwendet, wenn EMBED_PROVIDER=openai.
ORACLE_TOP_K6runtimeChunks pro Oracle-Antwort eingefügt.
LETSENCRYPT_EMAILstephan.kasdorf@bittomine.comletsencryptWo Let’s Encrypt Ablaufbenachrichtigungen sendet.
VIRTUAL_HOSTnibiru-framework.com,www.nibiru-framework.comnginx-proxyIn Compose setzen.

502 Bad Gateway. Der Upstream-Container konnte nicht gestartet werden. Überprüfen Sie docker logs nibiru-docs – wahrscheinlich fehlt ein Build-Artefakt in dist/server/entry.mjs.

Zertifikat nicht ausgestellt. Let’s Encrypt begrenzt die Anzahl der Ausgaben sehr restriktiv. Überprüfen Sie docker logs letsencrypt-nginx-proxy-companion, um den Grund zu ermitteln.

Oracle antwortet ohne Zitate. Der Einbettungsindex ist leer. Entweder wurde nomic-embed-text nicht auf Ollama gezogen, oder der Build konnte nicht zu your Ollama instance erreichen. Laden Sie das Modell erneut herunter:```bash curl https://your-ollama-host.example/api/pull -d ’{“name”:“nomic-embed-text”}’ docker compose up -d —build

**Oracle gibt "der Oracle konnte nicht antworten".** Überprüfen Sie, ob das Chat-Modell abgerufen wurde:```bash
curl https://your-ollama-host.example/api/tags | jq '.models[].name'

Wollen Sie zu Claude zurückfallen? Legen Sie LLM_PROVIDER=anthropic und ANTHROPIC_API_KEY in .env fest, dann führen Sie docker compose up -d aus.

LeerlaufUnter Oracle-Last
RAMca. 120 MBca. 200 MB
CPU< 0,5%ca. 5%
Netzwerkminimalein HTTPS-Roundtrip pro Frage
Festplatteca. 60 MB Bild + ca. 5 MB Index+ Korpus-Exporte

Ein Droplet mit 1 GB Speicher und 1 vCPU verarbeitet die Dokumentationssite problemlos zusammen mit anderen Diensten. Die intensiven Berechnungen (LLM-Inferenz) erfolgen in Ihrem GPU-Cluster, nicht im Dokumentationscontainer.