Skip to content

Software Stack

Every tool in the LocoPuente stack, its role, its port, and how it connects.


┌──────────────────────────────────────────────────────────────────────────┐
│ User Interfaces │
│ │
│ Custom Chat Open WebUI Perplexica AnythingLLM Open Notebook │
│ (NBF Study) (General) (AI Search) (Blackboard) (Research) │
│ │
│ ComfyUI Stirling PDF Excalidraw CiteSight │
│ (Images) (PDF Tools) (Whiteboard) (Citations) │
└──┬──────────────────┬─────────────────────────────┬─────────────────────┘
│ │ │
┌──▼──────────────────▼──────────┐ ┌───────▼─────┐ ┌─────▼─────┐
│ Ollama :11434 (GPU 0 / Pulpo) │ │ Speaches │ │ SearXNG │
│ Ollama :11435 (GPU 1 / Puente)│ │ :8000 │ │ :8888 │
└──┬─────────────────────────────┘ └───────┬─────┘ └─────┬─────┘
│ │ │
┌──▼────────────────────┐ ┌────────────────▼──────────────▼──────┐
│ Pulpo │ │ Puente │
│ RTX 3060 12GB │ │ RTX 2060 Super 8GB │
│ Primary LLM + Images │ │ Voice + Secondary LLM │
└───────────────────────┘ └───────────────────────────────────────┘

ToolPurposeAudienceKey Feature
Custom chatNBF research / Keep Asking studyResearch participantsConsent, exit survey, turn logging
Open WebUIGeneral student AI accessAll studentsFull-featured: voice, images, web search
PerplexicaCited AI-powered web searchResearch-focused studentsPerplexity-style cited answers, academic mode
AnythingLLMUnit-specific RAG chatbotsStudents per unitEmbeds in Blackboard, per-unit document workspaces

Open WebUI and Perplexica are complementary — Open WebUI is the general AI assistant, Perplexica is specifically for “find me cited information from the web.” Both share the same SearXNG instance as their search backend.


Two instances, one per GPU, each exposing an OpenAI-compatible REST API.

InstanceGPUPortRecommended Models
ollama-0RTX 3060 (Pulpo)11434Llama 3.1 8B Q4_K_M, Qwen2.5 7B
ollama-1RTX 2060 Super (Puente)11435Mistral 7B Q4_K_M, Phi-3 Mini

Local TTS and STT server on port 8000. OpenAI Audio API-compatible. STT via faster-whisper, TTS via Kokoro (primary) with Piper fallback. Integrated natively into Open WebUI.

Shared private web search backend on port 8888. Aggregates 70+ search engines without tracking users or requiring API keys. One instance serves both Open WebUI and Perplexica.

Local image generation on port 8188. Dual role as backend API (serving Open WebUI’s in-chat image generation) and direct student UI (for advanced workflows).

ModelVRAMResolutionGen Time
SD 1.5~4 GB512x512~2 sec
SDXL 1.0 base~6.5 GB1024x1024~15-20 sec
FLUX.1 Schnell Q4~8 GB1024x1024~30 sec

ServicePortGPUNotes
Ollama instance 011434Pulpo / RTX 3060Primary LLM API
Ollama instance 111435Puente / RTX 2060 SuperSecondary LLM API
Open WebUI3000General student chat
Perplexica3001Cited AI web search
AnythingLLM3002Blackboard RAG chatbots
Speaches8000Puente / RTX 2060 SuperTTS/STT API
Open Notebook AI8080Research, notes, podcast
Stirling PDF8089PDF tools
ComfyUI8188Pulpo / RTX 3060Image generation
SearXNG8888Shared search backend
Excalidraw3333Collaborative whiteboard
CiteSightexternalcitesight.eduserver.au

All services bind to localhost by default. For LAN access, bind to the workstation’s local IP. No public internet exposure without authentication.


MethodServices
Docker ComposeOpen WebUI, Perplexica, AnythingLLM, Speaches, Open Notebook, Stirling PDF, SearXNG, Excalidraw
systemdOllama instance 0, Ollama instance 1
Python venvComfyUI
ExternalCustom chat (chat.locolabo.org), CiteSight (citesight.eduserver.au)