Installation

Choose your preferred installation method.

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:

  1. Checks that Docker and Docker Compose v2 are installed and running, and that no other OpenCode Manager install is using the opencode-manager container
  2. Creates ~/opencode-manager (override with OCM_DIR) and saves the release Compose file (docker-compose.release.yml) there as docker-compose.yml. It refuses to install into a source checkout
  3. 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) to AUTH_TRUSTED_ORIGINS so other devices on your network can sign in
  4. Writes your answers to .env and docker-compose.override.yml. On Linux, sharing a folder also sets PUID/PGID to your user so files stay owned by you
  5. 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_SECRET on 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

VolumeContainer PathPurpose
opencode-workspace/workspaceRepository storage, plus OpenCode configuration and state
opencode-data/app/dataSQLite database and the generated AUTH_SECRET
opencode-bin/home/node/.opencode/binOpenCode 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 dev checks 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:

Verifying Installation

After starting the application:

  1. Open your browser to the appropriate URL
  2. You should see the login page or setup wizard
  3. Check logs if you encounter issues: docker compose logs -f

Next Steps