Multi-platform community lore and operations with cross-platform and cross-community bridging.
6.5K
Website: https://garbanzobot.com | Docker Hub: https://hub.docker.com/r/jjhickman/garbanzo
Garbanzo is a multi-platform AI community operations platform packaged for Docker-first deployments. It routes prompts and commands across configurable providers with optional local OpenAI API-compatible providers, then applies community workflows, community lore, and cross-platform or cross-community bridging where your members already gather.
This image is built for operators and small teams that want:
INSTANCE_ID, isolated volumes, and same-account WhatsApp linked-device patterns/admin usage & cost page, Prometheus /metrics, and a pre-provisioned Grafana dashboard via the compose monitoring profiledeploy/helm/ for Kubernetes operatorsBAND_FEATURES_ENABLED): an optional feature set for bands with a song catalog, rehearsal scheduling and reminders, availability tracking, setlists, and song idea capture with audio transcriptioncp .env.example .env
cp .env.discord.example .env.discord
# Optional WhatsApp instance:
# cp .env.whatsapp.example .env.whatsapp
In .env, set COMPOSE_PROFILES=discord, one AI provider key, and
MONITORING_TOKEN if you enable monitoring. In .env.discord, set
DISCORD_BOT_TOKEN and DISCORD_OWNER_ID.
Run a pinned release:
APP_VERSION=3.4.0 docker compose -f docker-compose.yml -f docker-compose.prod.yml pull
APP_VERSION=3.4.0 docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
Health check:
curl "http://127.0.0.1:${DISCORD_HEALTH_PORT:-3002}/health"
Readiness (non-200 when disconnected/stale):
curl -i "http://127.0.0.1:${DISCORD_HEALTH_PORT:-3002}/health/ready"
To run WhatsApp too, copy .env.whatsapp.example to .env.whatsapp, set
OWNER_JID, and use COMPOSE_PROFILES=discord,whatsapp. To add Prometheus and
Grafana, append ,monitoring, set METRICS_ENABLED=true, and set
MONITORING_TOKEN.
AI_TOOL_CALLING) lets members ask naturally ("is the red line running?") without bang commandsMEMORY_AUTO_EXTRACT), injected into the AI prompt and managed with !memoryconfig/rag-sources.json can add bounded source hits to promptsINSTANCE_ID separates deployment identity, metrics, shared-fact ids, and local vector collections; same-account WhatsApp deployments use separate linked-device auth volumesBAND_FEATURES_ENABLED=true turns on the band feature set (!song, !rehearsal, !available, !setlist, !agenda, !idea, !section, !lyrics)/admin usage & cost page, Prometheus metrics + Grafana dashboard (compose monitoring profile), daily digest + weekly recap, verified backups, anti-ban outbound safety, rate limiting, retry queuedeploy/helm/ for operators who run Garbanzo on a clusterThis repository publishes both GHCR and Docker Hub tags from the same release workflow.
latest
3.4.0
vv3.4.0
All tags are multi-arch where available:
linux/amd64linux/arm64DB_DIALECT=postgres and provide DATABASE_URL or POSTGRES_* connection vars.VECTOR_STORE=none for keyword-only search without Qdrant.CONTEXT_SESSION_MEMORY_ENABLED=true) and can be disabled via env var.Garbanzo is licensed under Apache License 2.0 (see LICENSE in the source repository).
Source code and docs: https://github.com/jjhickman/garbanzo-bot
Docker Hub note: repository categories are set in the Docker Hub UI (the release workflow syncs overview + short description).
Content type
Image
Digest
sha256:4c0ea766e…
Size
173.6 MB
Last updated
about 2 months ago
docker pull jjhickman/garbanzo