Use named volume for opencode config instead of host bind mount
Switching from a host bind mount (~/.config/opencode) to a named volume (devbox-opencode-config) eliminates the symlink conflict between host and container environments. Each manages its own skill/instruction symlinks independently, allowing native opencode and containerized opencode to coexist on the same machine. Also removes the ~/.agents/skills bind mount recommendation — the container manages its own skills directory via the entrypoint deploy, and sharing it with the host causes relative-path conflicts.
This commit is contained in:
+13
-6
@@ -48,13 +48,19 @@ services:
|
||||
# where the repo lives on the host. Set SKILLSET_PATH in .env.
|
||||
# - ${SKILLSET_PATH}:/home/developer/skillset
|
||||
|
||||
# Optional: mount opencode config directory (persists config changes across restarts)
|
||||
# Includes opencode.json, oh-my-opencode-slim.json, skills, etc.
|
||||
# When mounted, OPENCODE_PROVIDER auto-config is skipped if opencode.json exists.
|
||||
# - ~/.config/opencode:/home/developer/.config/opencode
|
||||
# Persist opencode config (opencode.jsonc, oh-my-opencode-slim.json,
|
||||
# instructions, etc.) across container recreations. Auto-generated on
|
||||
# first start from env vars by generate-config.py and the skillset
|
||||
# deploy script. Using a named volume (not a host bind mount) keeps
|
||||
# the container's skill/instruction symlinks independent from the host,
|
||||
# allowing both native and containerized opencode on the same machine.
|
||||
- devbox-opencode-config:/home/developer/.config/opencode
|
||||
|
||||
# Optional: mount opencode agent skills from host
|
||||
# - ~/.agents/skills:/home/developer/.agents/skills:ro
|
||||
# NOTE: Do NOT bind-mount ~/.agents/skills/ from the host. The
|
||||
# container manages its own skills directory independently — the
|
||||
# entrypoint deploys skills from the skillset repo on each start.
|
||||
# Sharing it with the host causes symlink conflicts (relative paths
|
||||
# differ between host and container filesystem namespaces).
|
||||
|
||||
# Optional: mount neovim config from host (plugins auto-install on first start)
|
||||
# - ~/.config/nvim:/home/developer/.config/nvim:ro
|
||||
@@ -114,6 +120,7 @@ services:
|
||||
# - ~/.aws:/home/developer/.aws
|
||||
|
||||
volumes:
|
||||
devbox-opencode-config:
|
||||
devbox-data:
|
||||
devbox-state:
|
||||
devbox-shell-history:
|
||||
|
||||
Reference in New Issue
Block a user