# beans — ONE container, registry-driven local inference. # Required: BEAN_HOLE must point at your models registry (see README.md). # BEAN_HOLE=/srv/models docker compose up -d --build # No personal paths live anywhere in this repo. # # No Olla: each model's bridge IS the server. ONE published port — the beansd # router on :11434 (configurable via $BEANS_PORT) — serves the whole OpenAI # API (model name in the body routes to the owning bridge). Bridges bind # loopback inside the container; workers on the host use # http://127.0.0.1:$BEANS_PORT, worker containers reach beans by name on the # beans_net external network (e.g. http://beans:$BEANS_PORT for embeddings). services: beans: build: . image: beans:1ctr container_name: beans restart: unless-stopped gpus: all environment: - BEANS_LISTEN=0.0.0.0:${BEANS_PORT:-11434} ports: - "127.0.0.1:${BEANS_PORT:-11434}:${BEANS_PORT:-11434}" # beansd router — one OpenAI-compatible API healthcheck: test: ["CMD", "curl", "-f", "http://localhost:${BEANS_PORT:-11434}/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s volumes: - ${BEAN_HOLE:?Set BEAN_HOLE to your models registry root (one dir per model)}:/beans networks: - default - beans_net networks: beans_net: external: true