OtoDock is a self-hosted platform that turns Claude Code and Codex into multi-tenant agents with persistent memory, tool access, and workspace isolation. It runs on your own Anthropic and OpenAI subscriptions, or on local models, and ships under a fair source license that converts to Apache 2.0 after two years.

Agents as Digital Employees

Each agent gets a name, a role, and six configurable parts: persona (plain-language instructions), memory (persistent notes across chats), workspace (the folder where work lands), knowledge (reference documents), skills (techniques the agent can apply), and tools (what the agent is allowed to use). You pick the engine per agent (Claude Code, Codex, or a local model) and can switch it per chat.

Four sharing modes control how work is distributed. Personal only gives each user a private workspace. Personal plus shared adds a team workspace on top. Shared plus personal defaults to a team space with per-user private areas. Shared only means everyone shares one history and one workspace. Admins assign people to agents, and three platform roles (Admin, Creator, Member) map to three agent roles (Manager, Editor, Viewer) on every agent.

Kernel Sandboxes and Network Isolation

The platform assumes agents cannot be trusted. Every server-side agent runs inside a kernel sandbox with its own mount and process namespace. Folders are mounted automatically based on each user's role per agent. Network isolation blocks private ranges, LAN addresses, and cloud metadata endpoints by default. MCP tools that need a local service can be granted scoped access by the admin, per agent. Credentials are encrypted at rest and injected only per session: agents can use them but never see them.

SSO, OIDC, two-factor auth, and per-user cost budgets come standard from the first install. Costs are tracked per user and per agent, with weekly or monthly limits.

Built-in Tooling Across Media

OtoDock ships with a broad toolkit. Agents edit Word, Excel, PowerPoint, and PDF files in a live editor inside the chat. They generate and edit images through a professional-grade pipeline. Video and audio tools handle footage generation, timeline cutting, captions, voice-overs, music, transcription, and speech synthesis. A browser tool from the community catalog lets agents research the live web. Schedules, triggers, notifications, meetings, delegation, phone calls, file transfer between agents, live charts, mini-apps, SSH hosts, and browser and computer control on paired machines are all built in.

The community catalog offers ready-made agents, tools, and skills that install in one click. Integrations include GitHub, Notion, Home Assistant, Nextcloud, Prometheus, UniFi, and Uptime Kuma. Any MCP tool server installs from a manifest, and tools are assigned per agent.

Remote Machines and Phone Lines

A paired machine (macOS, Linux, or Windows) connects to the server with a one-line install and keeps a single outbound connection, requiring no open ports. The same agent then runs on that machine with full access to its files and tools, controlled from the same dashboard. When the machine goes offline, the server takes over.

Agents can answer and place phone calls through a Twilio account or an existing Asterisk or FreePBX server. Notifications arrive in four severity levels, from a quiet chime to a persistent danger alarm. Every run is a full chat that can be opened, read, and continued later.

Architecture and Install

The stack is a React dashboard, a FastAPI proxy (the platform core handling sessions, security, scheduling, and the WebSocket hub), MCP tool servers, a speech package (STT, TTS, voice activity), a telephony daemon, and a satellite component for remote machines. PostgreSQL holds the platform state. Agents run as Claude Code or Codex processes inside per-session kernel sandboxes, talk to their tools over MCP, and stream every step back to the dashboard.

Installation requires a Linux server with Docker and 4 GB of RAM minimum. The install script checks Docker, writes a .env with a generated database password, downloads a release-pinned docker-compose.yml plus the phone-service overlay, and starts the stack. A setup wizard on http://localhost:8400 creates the owner account and installs a Personal Assistant with the tools it needs.

Licensing and Pricing

OtoDock is fair source under the Functional Source License v1.1 with an Apache 2.0 future grant (FSL-1.1-Apache-2.0). You can use, run, modify, and redistribute it for anything except competing with OtoDock commercially, and each version automatically becomes plain Apache 2.0 two years after release. Self-hosting is free for up to 5 users. Growing teams license by seats. Same software, signed key, no feature gates on your data or your agents.

The project was started by Dimitris Mourtzis, who wanted to use Claude Code beyond the terminal and connect it to his services. Large parts of OtoDock were built, tested, and shipped by agents running on OtoDock itself.