Skip to main content

Local AI stack orchestrator — privacy-first, pick-and-choose, upstream-only

Project description

Puente

Your own AI platform. Runs on your hardware.

Puente is a local-first AI orchestrator. It stands up a full stack of AI services — chat, image generation, speech, search, notebooks — on modest hardware, from one config file. Private by default. Yours to keep.

Pay a time tax, not a token tax. Modest hardware, honest bills.

Puente is the deployment layer of LocoPuente, a LocoLabo initiative: local AI for everyone who can't — or won't — send their data to the cloud.

Install

pip install locopuente

The PyPI distribution is locopuente (the puente name belongs to another project). The command you run is puente.

Or from source:

git clone https://github.com/michael-borck/loco-puente.git
cd loco-puente && pip install -e .

Quick start

puente init      # detect your hardware, choose services that fit
puente install   # pull Docker images, install native pieces (Ollama, models)
puente up        # start the stack + a launcher portal

Then puente status to see what's live. That's it.

What it does

  • Detects your hardware and proposes a service set it can actually run, pinning models to the right GPU.
  • Orchestrates the containers — you toggle services in puente.yml, Puente handles Docker, GPUs, models, and (optionally) a reverse proxy.
  • Config as code. The whole stack is one committable puente.yml. No web UI, no hidden state.
  • Coexists with what you already run. A service you've already installed can stay (managed: false); Puente uses it instead of spinning up its own.

Services

A pick-and-choose menu, all running locally:

Service What it is
Ollama Local LLM inference
Open WebUI Chat over your models
SwarmUI / ComfyUI Image generation
Chatterbox / Speaches Voice-cloning TTS, speech-to-text
SearXNG Private meta-search
AnythingLLM Docs + RAG workspaces
Open Notebook, Stirling PDF, Excalidraw, Jupyter, … Tools

Plus an optional Caddy reverse-proxy service (automatic TLS) that fronts whichever services you expose — see docs/caddy-migration.md.

Commands

puente init      Interactive setup — detect hardware, pick services
puente install   Install native services + pull Docker images
puente up        Start the stack (or a specific service)
puente down      Stop the stack (or a specific service)
puente enable    Enable a service in puente.yml
puente disable   Disable a service in puente.yml
puente status    Status of all enabled services
puente doctor    Health-check enabled services
puente gpu       Detect and display GPUs
puente connect   Connection details for external tools
puente portal    Generate the service launcher page

Requirements

  • Python 3.10+
  • Docker (for containerized services)
  • A GPU is recommended but not required — a single consumer GPU is enough to start.

License

MIT © Michael Borck. A LocoLabo initiative, Curtin University.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

locopuente-0.1.0.tar.gz (206.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

locopuente-0.1.0-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

Details for the file locopuente-0.1.0.tar.gz.

File metadata

  • Download URL: locopuente-0.1.0.tar.gz
  • Upload date:
  • Size: 206.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for locopuente-0.1.0.tar.gz
Algorithm Hash digest
SHA256 55c661aa144c862f338998936201129e984ff97055fb4e228e1d6efa308c50d0
MD5 da386b7db17ea11e081446e03032dd75
BLAKE2b-256 0758906b3217d830b4331ee7af852654c2e36d89d8c0ff2adb9461b727eb6537

See more details on using hashes here.

File details

Details for the file locopuente-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: locopuente-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for locopuente-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ac633aa97e17720db8f866545d907d5a627561e3b2c1f0d7727f3890fb9d1c2
MD5 c95c55b9bf0d82315bd4c093affea468
BLAKE2b-256 ef1a49e60aedcfed8fbd979df936842badf54be740972146817b8abe4d38e629

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page