Installation
Choose your preferred installation method.
Installer (Recommended)
The installer is the fastest way to get started. It needs Docker with Compose v2 (docker compose), which Docker Desktop includes.
curl -fsSL https://opencodemanager.app/install | sh
Open http://localhost:5003 in your browser and create your admin account.
The installer:
- Checks that Docker and Docker Compose v2 are installed and running, and that no other OpenCode Manager install is using the
opencode-managercontainer - Creates
~/opencode-manager(override withOCM_DIR) and saves the release Compose file (docker-compose.release.yml) there asdocker-compose.yml. It refuses to install into a source checkout - Asks before sharing anything from your machine. Every question defaults to no except network sign-in, and nothing is asked when there is no terminal:
- Import OpenCode: when it finds an existing OpenCode install, it offers to copy its config, provider logins, and chat history into the Manager. The folders are mounted read-only and copied once on first start (see Import Existing OpenCode Chats)
- Share a repositories folder: mounts a folder of your existing repositories read-write at the same path, so agents can work on them. Add it in the app with Add Repository → Folder
- Sign in from your phone: adds your local network address (for example
http://192.168.1.24:5003) toAUTH_TRUSTED_ORIGINSso other devices on your network can sign in
- Writes your answers to
.envanddocker-compose.override.yml. On Linux, sharing a folder also setsPUID/PGIDto your user so files stay owned by you - Pulls the published image (about 1.2 GB the first time), starts it, and waits until it is healthy
Re-run the installer to update to the latest release. It keeps .env and docker-compose.override.yml, replaces docker-compose.yml, and does not ask again.
Docker Compose
To run the published image without the installer, download the release Compose file:
mkdir opencode-manager && cd opencode-manager
curl -fsSL https://raw.githubusercontent.com/chriswritescode-dev/opencode-manager/main/docker-compose.release.yml -o docker-compose.yml
docker compose up -d
Open http://localhost:5003 in your browser.
What Docker Sets Up
The container automatically:
- Generates
AUTH_SECRETon first start when it is not set, and keeps it in the data volume - Installs OpenCode 2 if not present (bundled 2.0.15; 2.x at 2.0.15 or newer required)
- Serves the prebuilt frontend
- Creates persistent volumes for the workspace, database, and OpenCode binary
- Configures health checks and auto-restart
Docker Commands
# Start the container
docker compose up -d
# Update to the latest release
docker compose pull
docker compose up -d
# Stop and remove containers (named volumes are preserved)
docker compose down
# Stop and remove containers and all named volumes (workspace, database, OpenCode binary)
docker compose down -v
# View logs
docker compose logs -f
# Restart
docker compose restart
# Access container shell
docker exec -it opencode-manager sh
To build the image yourself instead of pulling it, see Building From Source.
Volumes
| Volume | Container Path | Purpose |
|---|---|---|
opencode-workspace | /workspace | Repository storage, plus OpenCode configuration and state |
opencode-data | /app/data | SQLite database and the generated AUTH_SECRET |
opencode-bin | /home/node/.opencode/bin | OpenCode versions installed from Settings, persisted across container recreations (the bundled binary is part of the image) |
Local Development
For contributors who want to develop locally instead of using Docker.
Prerequisites
- Git - Required;
pnpm devchecks for it - pnpm - Package manager (required for workspaces)
- Bun - Backend runtime
- OpenCode TUI 2.x, 2.0.15 or newer -
curl -fsSL https://opencode.ai/v2/install | bash - Node.js 24+
Setup
# Clone the repository
git clone https://github.com/chriswritescode-dev/opencode-manager.git
cd opencode-manager
# Install dependencies
pnpm install
# Copy environment configuration
cp .env.example .env
# Start development servers
pnpm dev
This starts:
- Backend on http://localhost:5003
- Frontend on http://localhost:5173 (with HMR)
Verifying Installation
After starting the application:
- Open your browser to the appropriate URL
- You should see the login page or setup wizard
- Check logs if you encounter issues:
docker compose logs -f
Next Steps
- Quick Start - First steps after installation
- First Run Setup - Creating your admin account
- Docker Configuration - Advanced Docker settings