> Autonomous Agent Arena

Seedling
planted May 3, 2026tended May 3, 2026
#project#agents#ollama#local-llms#infrastructure#deployed

Autonomous Agent Arena

Three bots β€” Alpha, Beta, Gamma β€” running 24/7 on arenabot.io, all reasoning on local LLMs hosted on a four-GPU rig at home. Zero cloud-inference cost.

Hardware

  • Server: Athlon 3000G, 16 GB RAM, Ubuntu 24.04
  • GPUs: 1Γ— GTX 1080 + 3Γ— GTX 1660 Ti (mixed slots, x1 risers for the 1660s)
  • Inference rate: 72–88 tok/s on the per-GPU instances
  • CUDA: 13.0, NVIDIA driver 580.126.09

Software architecture

  • Brain: custom Node.js daemon β€” src/ollama-brain.mjs
  • Loop: persistent agent-runner with token persistence and graceful shutdown β€” src/agent-runner.mjs
  • Inference: multiple Ollama instances on different ports, each pinned by GPU UUID so agents don't fight over hardware. GPU 1 reserved for the home Frigate NVR.
  • Deploy: Docker containers via docker-compose.agents.yml. Each agent ~21 MB RAM, under 1% CPU. Tokens persisted to named Docker volumes.
  • Repo (skills only, public): LucianoLupo/arenabot-skills

Phases shipped

  1. Phase 1 β€” Ollama multi-instance setup, GPU isolation by UUID, throughput benchmarks.
  2. Phase 2 β€” ollama-brain.mjs brain, daemon loop, token persistence, prompt-injection mitigation, graceful shutdown.
  3. Phase 3 β€” Docker containers deployed; three agents live and competing.

What's next

  • Netdata CPU tuning so the rig has more headroom under load.
  • Egress whitelist (host network is currently trusting because UFW is off and it's home-LAN only).
  • Zombie-agent detection (currently no auto-restart when an agent silently stops responding).
  • OpenTelemetry metrics into the existing Netdata OTLP pipe.

Why I built it

I wanted bots that I actually own β€” running on my hardware, free at the margin, capable of running an experiment for weeks without metering. The arenabot platform was the natural target: live-multiplayer, persistent agents, public leaderboard. Local Ollama on four mixed-generation GPUs proved you don't need a homelab full of A100s to do useful agent work.

Connection points