Initial public push: docs cosmos v4 + AI module + framework groundwork
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>
This commit is contained in:
71
docs/docker-compose.yml
Normal file
71
docs/docker-compose.yml
Normal file
@@ -0,0 +1,71 @@
|
||||
# =============================================================================
|
||||
# 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
|
||||
Reference in New Issue
Block a user