Four paths · amd64 and arm64 · No cloud required

Runs on your server. Even the little one on the shelf.

Four paths lead to your own OpenParrotAI installation: locally from source or with images, on a home network or in the cloud with your own domain. All images are built for amd64 and arm64; the Raspberry Pi is not a special case.

01Four paths

All four start with Docker Compose. The difference is where the stack runs and who may reach it.

Local, source code
Builds everything from the checkout. HTTP, internal mTLS off. For a first look and for contributions.
Local, images
The same topology, but with published images instead of a build. Up in five minutes.
Home network
No public domain, no Let's Encrypt, no port forwarding. Fully hardened, including internal mTLS.
Cloud (host, own domain)
Your own cloud host with its own domain, TLS, and a complete internal PKI.

02Without a public domain

The path for everyone who does not want their assistants reachable from the internet.

No domain name, no Let's Encrypt, no open port forwarding. You create your own local CA, Traefik gets a self-signed certificate, and you get in remotely through WireGuard or Tailscale.

Together with a local Ollama model, that means no packet leaves your network. Not as a promise, but because no outward connection exists to take it.

03The bundle

For NAS devices and appliances: one folder containing everything.

A script produces the Compose file, .env, Traefik configuration, and a freshly generated internal PKI. Copy the folder to the target system and start it. There is no source code on the NAS afterwards.

04What runs alongside it

Traefik
The only front door. Terminates TLS and obtains certificates through ACME.
PostgreSQL
Persistence for all services.
ClamAV
Scans uploaded files and attachments.
Internal mTLS
Services communicate with each other only through mutually authenticated TLS, with service tokens from Identity.
Bubblewrap
Sandbox for external tools, with a network policy per tool.

05Which model?

The provider is set per agent, not per installation.

Conrad can run on a local Ollama while Resi asks Gemini. Ollama, OpenAI, Claude, Gemini, and OpenRouter are supported — and beyond those, any OpenAI-compatible address, because every provider's base URL can be overridden.

Web search is configured separately: off, Google through Gemini, Tavily, or your own external tool.

06Four questions that always come up

Is there a hosted version?

No. OpenParrotAI is a self-hosted platform. A hosted offering is not part of the current product.

Does it run on a Raspberry Pi?

Yes. All images are built for amd64 and arm64. You should not run the language model on the same device, though — use a provider or a second device with a GPU instead.

Do I need an API key?

Only for hosted models. With Ollama, everything runs locally and without a key.

What happens if a run fails?

It is retried, and if it continues to fail, it visibly lands in the dead letter queue. There you can see which step failed and why.