This is the snapshot the production landing site (nibiru-framework.com) is deployed from. Brings together the recent splash + docs migration to the v4 "Cosmos" design system, the new in-framework AI module, and the framework groundwork that backs the framework-reference extraction. What lands: - docs/: Astro + Starlight site with the v4 dark cosmic palette, GalaxyHero canvas constellation, Mission Control chat (wired to /api/oracle → api.neuronetz.ai via providers.mjs Ollama), 5-panel MMVC stage (Model · AI · Module · Controller · View), translated EN/DE/JA/ES/FR content, PWA + sitemap + llms.txt + Umami analytics. - docs/design-system/: canonical mockup bundle (source/index-v2.html for splash, source/docs-system.html + preview/ for docs, SPEC.md, tokens). - docs/scripts/extraction/framework-reference-v2.md: deep framework reference (~1.6k lines, file:line citations, every public factory and idiom — basis for the LoRA training corpus. - application/module/ai/: AI module with chat / embed / RAG / agent plugins, plus pdoQuery / httpGet / fileRead tools and Modelfile + smoke-test in training/. - application/module/users/: user / ACL / form-factory traits used as the reference plugin pattern for the framework docs. - application/settings/config/database/: schema + seed migrations including the AI module tables (200–203). - Form factory + autogenerator changes the framework-reference-v2 covers. Production secrets stay out: docs/.env, settings.production.ini and ai.production.ini are all gitignored (.example files are in tree). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
72 lines
2.4 KiB
YAML
72 lines
2.4 KiB
YAML
# =============================================================================
|
|
# Nibiru docs site — production compose for jwilder/nginx-proxy
|
|
#
|
|
# Default LLM backend: Ollama at https://api.neuronetz.ai (your own instance).
|
|
# No paid API keys required for normal operation.
|
|
#
|
|
# Prereqs (one-time, on the host):
|
|
# docker network create nginx-proxy
|
|
#
|
|
# Bring up:
|
|
# docker compose up -d --build
|
|
#
|
|
# Update after a docs change:
|
|
# git pull && docker compose up -d --build
|
|
# =============================================================================
|
|
|
|
services:
|
|
docs:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
# Used at build time only — to embed docs into the Oracle index.
|
|
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-https://api.neuronetz.ai}
|
|
OLLAMA_EMBED_MODEL: ${OLLAMA_EMBED_MODEL:-nomic-embed-text}
|
|
EMBED_PROVIDER: ${EMBED_PROVIDER:-ollama}
|
|
image: nibiru-framework/docs:latest
|
|
container_name: nibiru-docs
|
|
restart: unless-stopped
|
|
expose:
|
|
- "4321"
|
|
environment:
|
|
# --- nginx-proxy (jwilder) routing ---
|
|
VIRTUAL_HOST: nibiru-framework.com,www.nibiru-framework.com
|
|
VIRTUAL_PORT: "4321"
|
|
VIRTUAL_PROTO: "http"
|
|
LETSENCRYPT_HOST: nibiru-framework.com,www.nibiru-framework.com
|
|
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-stephan.kasdorf@bittomine.com}
|
|
|
|
# --- Oracle: LLM provider (default = your own Ollama on neuronetz.ai) ---
|
|
LLM_PROVIDER: ${LLM_PROVIDER:-ollama}
|
|
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-https://api.neuronetz.ai}
|
|
OLLAMA_CHAT_MODEL: ${OLLAMA_CHAT_MODEL:-qwen2.5-coder:14b}
|
|
OLLAMA_EMBED_MODEL: ${OLLAMA_EMBED_MODEL:-nomic-embed-text}
|
|
EMBED_PROVIDER: ${EMBED_PROVIDER:-ollama}
|
|
|
|
# --- Optional fallbacks (only used if LLM_PROVIDER=anthropic / EMBED_PROVIDER=openai) ---
|
|
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
|
|
ANTHROPIC_MODEL: ${ANTHROPIC_MODEL:-claude-haiku-4-5-20251001}
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
|
OPENAI_EMBED_MODEL: ${OPENAI_EMBED_MODEL:-text-embedding-3-small}
|
|
|
|
ORACLE_TOP_K: ${ORACLE_TOP_K:-6}
|
|
ORACLE_MAX_TOKENS: ${ORACLE_MAX_TOKENS:-800}
|
|
|
|
HOST: 0.0.0.0
|
|
PORT: "4321"
|
|
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--quiet", "--spider", "http://127.0.0.1:4321/"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 20s
|
|
|
|
networks:
|
|
- nginx-proxy
|
|
|
|
networks:
|
|
nginx-proxy:
|
|
external: true
|