Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ env.aws_bedrock=AWS_BEARER_TOKEN_BEDROCK
| `$PROJECT_DIR` | `$PROJECT_DIR` (with `$HOME` stripped) | rw | Project files |
| `~/.config/opencode/` | `/home/coder/.config/opencode/` | ro | Config, skills, agents |
| `~/.local/share/opencode/` | `/home/coder/.local/share/opencode/` | rw | Auth, sessions |
| `~/.local/state/opencode/` | `/home/coder/.local/state/opencode` | rw | TUI preferences, UI state |
| `~/.cache/opencode/` | `/home/coder/.cache/opencode/` | rw | Provider cache |
| `~/.cache/oh-my-opencode/` | `/home/coder/.cache/oh-my-opencode/` | rw | Plugin cache |
| `~/.cache/openspec/` | `/home/coder/.cache/openspec/` | rw | OpenSpec cache (when enabled) |
Expand Down
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ USER root
RUN mkdir -p /home/coder/.config/opencode && \
mkdir -p /home/coder/.config/openspec && \
mkdir -p /home/coder/.local/share/opencode && \
mkdir -p /home/coder/.local/state/opencode && \
mkdir -p /home/coder/.cache/opencode && \
mkdir -p /home/coder/.cache/oh-my-opencode && \
mkdir -p /home/coder/.cache/openspec && \
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ TERM=xterm-256color
| `$PROJECT_DIR` | `$PROJECT_DIR` (with `$HOME` stripped) | read-write | Your project files |
| `~/.config/opencode/` | `/home/coder/.config/opencode/` | read-only | OpenCode & oh-my-opencode config, skills, commands, agents |
| `~/.local/share/opencode/` | `/home/coder/.local/share/opencode/` | read-write | Auth, logs, sessions, storage |
| `~/.local/state/opencode/` | `/home/coder/.local/state/opencode/` | read-write | TUI preferences, UI state |
| `~/.cache/opencode/` | `/home/coder/.cache/opencode/` | read-write | Provider package cache |
| `~/.cache/oh-my-opencode/` | `/home/coder/.cache/oh-my-opencode/` | read-write | Oh My OpenCode cache |
| `~/.gradle/gradle.properties` | `/home/coder/.gradle/gradle.properties` | read-only | Gradle config (optional) |
Expand Down
6 changes: 6 additions & 0 deletions config-lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ compute_container_path() {
# Ensure all required OpenCode directories exist on host
ensure_opencode_dirs() {
mkdir -p "$HOME/.local/share/opencode" 2>/dev/null || true
mkdir -p "$HOME/.local/state/opencode" 2>/dev/null || true
mkdir -p "$HOME/.cache/opencode" 2>/dev/null || true
mkdir -p "$HOME/.cache/oh-my-opencode" 2>/dev/null || true
mkdir -p "$HOME/.config/opencode" 2>/dev/null || true
Expand Down Expand Up @@ -264,6 +265,11 @@ build_standard_volume_args() {
config_info "You'll need to run 'opencode auth login' inside the container"
fi

# OpenCode state directory (TUI preferences, UI state, etc.) (read-write)
if [ -d "$HOME/.local/state/opencode" ]; then
VOLUME_ARGS+=(-v "$HOME/.local/state/opencode:/home/coder/.local/state/opencode")
fi

# OpenCode provider package cache (improves startup time and prevents API errors)
# See: https://opencode.ai/docs/troubleshooting/#ai_apicallerror-and-provider-package-issues
if [ -d "$HOME/.cache/opencode" ]; then
Expand Down
4 changes: 4 additions & 0 deletions opencode-dockerized.sh
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ check_config() {
missing_files+=("$HOME/.local/share/opencode/")
fi

if [ ! -d "$HOME/.local/state/opencode" ]; then
missing_files+=("$HOME/.local/state/opencode/")
fi

if [ ${#missing_files[@]} -gt 0 ]; then
print_warning "Some OpenCode configuration files are missing:"
for file in "${missing_files[@]}"; do
Expand Down
1 change: 1 addition & 0 deletions setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ ensure_dir "$HOME/.config/opencode/agent"
ensure_dir "$HOME/.config/opencode/plugin"
ensure_dir "$HOME/.config/opencode/command"
ensure_dir "$HOME/.local/share/opencode"
ensure_dir "$HOME/.local/state/opencode"
ensure_dir "$HOME/.cache/opencode"
ensure_dir "$HOME/.cache/oh-my-opencode"
ensure_dir "$HOME/.mcp-auth"
Expand Down