All apps · 0 apps
Pirarara-AI
Docker app from grtgbln's Repository
Overview
Readme
View on GitHub
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, andrun_shelltools - 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 / pirararacredentials 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.
Requirements
Requires a separate Ollama instance.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
caiquebrito/pirarara-ai:latestRuntime arguments
- Web UI
http://[IP]:[PORT:3000]- Network
bridge- Privileged
- false
Template configuration
Container Port: 3000
- Target
- 3000
- Default
- 3000
- Value
- 3000
URL of your Ollama instance (replace with your Unraid server IP)
- Target
- OLLAMA_URL
- Default
- http://localhost:11434
- Value
- http://localhost:11434
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
Random secret for JWT signing — generate with: openssl rand -hex 32
- Target
- SECRET_KEY
Optional — for Claude models via Anthropic API
- Target
- ANTHROPIC_API_KEY
Optional — for OpenAI models
- Target
- OPENAI_API_KEY
Where the SQLite database file is stored
- Target
- /data
- Default
- /mnt/user/appdata/pirarara/db
- Value
- /mnt/user/appdata/pirarara/db
Directory where the agent can read/write files
- Target
- /workspace
- Default
- /mnt/user/appdata/pirarara/workspace
- Value
- /mnt/user/appdata/pirarara/workspace