Pirarara-AI

Docker app from grtgbln's Repository

Overview

Pirarara AI is a self-hosted local AI platform — a lightweight alternative to Open WebUI.

Pirarara AI

Self-hosted local AI platform with chat, agents, and a full code workspace


What is Pirarara AI?

Pirarara AI is a self-hosted alternative to cloud AI tools. Run powerful open-source models locally via Ollama, chat with them through a polished UI, build agents that can read and write your code, and keep every byte on your own hardware.

Named after the Pirarara (Phractocephalus hemioliopterus) — a magnificent red-tailed catfish native to the Amazon river. Powerful, local, and distinctly Brazilian. 🇧🇷

Features

  • Chat — streaming chat with SSE, multi-conversation sidebar, rename/delete, chat history persisted in SQLite
  • Model manager — pull models with live progress bar, load into VRAM, delete with confirmation
  • Agent loop — coding agent with read_file, write_file, and run_shell tools
  • Workspace — file tree, file viewer with diff tab, integrated terminal panel
  • System stats — live CPU / RAM / GPU bar in the navbar
  • OpenAI-compatible API — drop-in replacement for any OpenAI client (/v1/chat/completions, /v1/models)
  • User auth — JWT login, admin role, default admin / pirarara credentials seeded on startup
  • Settings — toggle visible tabs, set default model, change password

Quick start

git clone https://github.com/YOUR_USERNAME/pirarara-ai
cd pirarara-ai
cp .env.example .env
# Edit .env — set DB_PASSWORD and BACKEND_SECRET_KEY at minimum

# CPU only
docker compose up

# With Nvidia GPU
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up

Open http://localhost:3000 and sign in with admin / pirarara.

Requirements

  • Docker + Docker Compose
  • 8 GB RAM minimum (16 GB recommended)
  • Nvidia GPU with 6 GB+ VRAM (optional but recommended)
  • Ollama reachable from the container (or running on the same host)

See docs/requirements.md for full details.

OpenAI-compatible API

Any OpenAI-compatible client can point at Pirarara. All inference runs on Ollama.

OPENAI_BASE_URL=http://localhost:8000/v1
OPENAI_API_KEY=pirarara   # any non-empty string
Method Path Description
GET /v1/models List installed Ollama models in OpenAI format
POST /v1/chat/completions Chat completions (streaming + non-streaming)

Backend endpoints

Method Path Description
GET /health Check Ollama connectivity
POST /api/chat Full (non-streaming) chat response
POST /api/chat/stream Streaming chat response (SSE)
GET /api/models List available models
POST /api/models/pull Pull a new model from Ollama

Local backend development

cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

Minimum .env for local dev:

OLLAMA_URL=http://192.168.15.180:11434
DB_PASSWORD=any_local_password
BACKEND_SECRET_KEY=any_local_secret

Unraid

See docs/unraid-setup.md for the full Unraid setup guide.

License

MIT

Install Pirarara-AI on Unraid in a few clicks.

Find Pirarara-AI in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Pirarara-AI Review the template variables and paths Click Install

Requirements


        Requires a separate Ollama instance.
    

Download Statistics

92
Total Downloads

Related apps

Details

Repository
caiquebrito/pirarara-ai:latest
Last Updated2026-06-26
First Seen2026-07-01

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 3000

Target
3000
Default
3000
Value
3000
Ollama URLVariable

URL of your Ollama instance (replace with your Unraid server IP)

Target
OLLAMA_URL
Default
http://localhost:11434
Value
http://localhost:11434
Default ModelVariable

Ollama model to use by default

Target
OLLAMA_DEFAULT_MODEL
Default
qwen2.5-coder:7b-instruct-q4_K_M
Value
qwen2.5-coder:7b-instruct-q4_K_M
Secret KeyVariable

Random secret for JWT signing — generate with: openssl rand -hex 32

Target
SECRET_KEY
Anthropic API KeyVariable

Optional — for Claude models via Anthropic API

Target
ANTHROPIC_API_KEY
OpenAI API KeyVariable

Optional — for OpenAI models

Target
OPENAI_API_KEY
Database PathPathrw

Where the SQLite database file is stored

Target
/data
Default
/mnt/user/appdata/pirarara/db
Value
/mnt/user/appdata/pirarara/db
WorkspacePathrw

Directory where the agent can read/write files

Target
/workspace
Default
/mnt/user/appdata/pirarara/workspace
Value
/mnt/user/appdata/pirarara/workspace