a183ad7ac6
Replace vim-tiny with neovim from GitHub releases (pinned, multi-arch). Add bat, eza, zoxide from GitHub releases and tmux, htop, patch from apt. Move tmux from OMOS-only to base image. Set EDITOR=nvim. Add neovim config mount option to docker-compose and docs.
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
# opencode-devbox docker-compose
|
|
#
|
|
# Usage:
|
|
# cp .env.example .env # configure your provider and keys
|
|
# docker compose up -d
|
|
# docker compose exec -u developer devbox opencode
|
|
#
|
|
# Or for interactive one-shot:
|
|
# docker compose run --rm devbox
|
|
|
|
services:
|
|
devbox:
|
|
build:
|
|
context: .
|
|
args:
|
|
INSTALL_PYTHON: "false"
|
|
INSTALL_GO: "false"
|
|
INSTALL_OMOS: "false"
|
|
image: opencode-devbox:latest
|
|
container_name: opencode-devbox
|
|
stdin_open: true
|
|
tty: true
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- TERM=xterm-256color
|
|
volumes:
|
|
# Host workspace — mount your project here
|
|
- ${WORKSPACE_PATH:-.}:/workspace
|
|
|
|
# SSH keys (read-only) — for git push/pull
|
|
- ${SSH_KEY_PATH:-~/.ssh}:/home/developer/.ssh:ro
|
|
|
|
# Optional: mount your own opencode config (MCP servers, custom models, etc.)
|
|
# - ./opencode.json:/home/developer/.config/opencode/opencode.json:ro
|
|
|
|
# Optional: mount opencode skills from host
|
|
# - ~/.config/opencode/skills:/home/developer/.config/opencode/skills:ro
|
|
# - ~/.agents/skills:/home/developer/.agents/skills:ro
|
|
|
|
# Optional: mount your own oh-my-opencode-slim config
|
|
# - ./oh-my-opencode-slim.json:/home/developer/.config/opencode/oh-my-opencode-slim.json:ro
|
|
|
|
# Optional: mount neovim config from host (plugins auto-install on first start)
|
|
# - ~/.config/nvim:/home/developer/.config/nvim:ro
|
|
|
|
# Optional: persist opencode data (auth, memory, etc.)
|
|
- devbox-data:/home/developer/.local/share/opencode
|
|
|
|
# Optional: AWS credentials/SSO config (not read-only — SSO writes token cache)
|
|
# - ~/.aws:/home/developer/.aws
|
|
|
|
volumes:
|
|
devbox-data:
|