Self-hosted AI coding workspace for running Claude Code, Codex, Copilot, Cursor, and OpenCode agents from one interface.
Agentrove is under active development. Expect breaking changes between releases.
- Runs Claude, Codex, Copilot, Cursor, and OpenCode through ACP adapters.
- Gives each workspace its own Docker or host sandbox.
- Combines chat, code editor, terminal, file tree, diffs, secrets, and git tools in one workspace.
- Supports workspaces from empty folders, git clones, existing local folders, or GitHub repositories.
- Streams agent sessions with cancellation, permission prompts, queued follow-up messages, file mentions, slash commands, and attachments.
- Includes sub-threads, pinned chats, worktree mode, personas, custom instructions, environment variables, and installed agent skills.
- Provides GitHub-assisted repository browsing, pull request review, PR creation, reviewer selection, and git branch/commit/push/pull helpers.
- Ships as a Docker web app, a macOS desktop app, and a native iOS app.
Requirements:
- Docker
- Docker Compose
git clone https://github.com/Mng-dev-ai/agentrove.git
cd agentrove
cp .env.example .envSet SECRET_KEY in .env:
openssl rand -hex 32Start Agentrove:
docker compose up -dOpen http://localhost:3000.
Agentrove also has a macOS desktop app built with Tauri. It starts a bundled Python backend sidecar on an available 127.0.0.1 port and connects the frontend to it at launch.
- Download the latest Apple Silicon build from Releases.
- Build from source:
cd frontend
npm install
npm run desktop:devAgentrove also builds a native iOS app with Tauri. Since iOS can't run the local
backend sidecar, the app is a thin client: it talks to an Agentrove instance you
already host (your Docker or production deployment), reachable from the phone over
https/wss. Because the project is open source, you build and sign it yourself —
nothing is hardcoded to anyone else's server.
Requirements: macOS with Xcode (plus its iOS SDK and Simulator), the Rust iOS
targets (rustup target add aarch64-apple-ios aarch64-apple-ios-sim), and CocoaPods.
Point the app at your instance:
cd frontend
cp .env.mobile.example .env.mobile # then set your https/wss URLs
npm installRun in the simulator:
npm run ios:devInstall on your own iPhone with a free Apple ID — no paid developer account needed (the app must be re-signed every 7 days):
npm run tauri ios initgenerates the Xcode project (first run only).- Open
frontend/src-tauri/gen/apple/*.xcodeprojin Xcode once, pick your Team under Signing & Capabilities, and connect your iPhone (Xcode needs to register the device and create the provisioning profile). - On the phone, enable Developer Mode (Settings → Privacy & Security), then after the first install trust the certificate under Settings → General → VPN & Device Management.
Build a standalone .ipa and install it on the connected iPhone:
# from frontend/ — rebuild the bundled UI + native app any time the code changes.
# Sign with your own Apple team (find the ID in Xcode → Signing & Capabilities);
# nothing is hardcoded to anyone else's team. The -c flag injects it into both
# the build signing and the IPA export, so it stays out of the committed config.
npm run ios:build -- --debug --export-method debugging \
-c '{"bundle":{"iOS":{"developmentTeam":"<YOUR_TEAM_ID>"}}}'
# -> src-tauri/gen/apple/build/arm64/Agentrove.ipa
# find your device id, then install the freshly built .ipa
xcrun devicectl list devices
xcrun devicectl device install app --device <DEVICE_ID> \
src-tauri/gen/apple/build/arm64/Agentrove.ipaTo update the app later, re-run those two commands — the standalone build runs on the phone without keeping a Mac connected.
For a single-host Docker deployment:
SECRET_KEY=$(openssl rand -hex 32) \
SERVICE_FQDN_WEB_80=https://yourdomain.com \
APP_URL=https://yourdomain.com \
ALLOWED_ORIGINS=https://yourdomain.com \
docker compose -f docker-compose-production.yml up -d --build- Frontend: React 19, TypeScript, Vite, Tailwind CSS, Monaco, xterm.js
- Backend: FastAPI, SQLAlchemy, SQLite, Redis
- Runtime: ACP, Docker or host sandboxes, Tauri desktop sidecar
Join the Discord server.
Apache 2.0. See LICENSE.
