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:
@@ -51,8 +51,12 @@ services:
|
|||||||
# where the repo lives on the host. Set SKILLSET_PATH in .env.
|
# where the repo lives on the host. Set SKILLSET_PATH in .env.
|
||||||
# - ${SKILLSET_PATH}:/home/developer/skillset
|
# - ${SKILLSET_PATH}:/home/developer/skillset
|
||||||
|
|
||||||
# Opencode config — per-user (persists settings across restarts)
|
# Persist opencode config (opencode.jsonc, oh-my-opencode-slim.json,
|
||||||
- ${HOME}/${SIGNUM}/.config/opencode:/home/developer/.config/opencode
|
# 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 keeps the container's symlinks
|
||||||
|
# independent from the host.
|
||||||
|
- devbox-opencode-config:/home/developer/.config/opencode
|
||||||
|
|
||||||
# Persist opencode data (auth, memory, session history)
|
# Persist opencode data (auth, memory, session history)
|
||||||
- devbox-data:/home/developer/.local/share/opencode
|
- devbox-data:/home/developer/.local/share/opencode
|
||||||
@@ -79,6 +83,7 @@ services:
|
|||||||
# - ${HOME}/${SIGNUM}/.aws:/home/developer/.aws
|
# - ${HOME}/${SIGNUM}/.aws:/home/developer/.aws
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
devbox-opencode-config:
|
||||||
devbox-data:
|
devbox-data:
|
||||||
devbox-shell-history:
|
devbox-shell-history:
|
||||||
devbox-zoxide:
|
devbox-zoxide:
|
||||||
|
|||||||
+13
-6
@@ -48,13 +48,19 @@ services:
|
|||||||
# where the repo lives on the host. Set SKILLSET_PATH in .env.
|
# where the repo lives on the host. Set SKILLSET_PATH in .env.
|
||||||
# - ${SKILLSET_PATH}:/home/developer/skillset
|
# - ${SKILLSET_PATH}:/home/developer/skillset
|
||||||
|
|
||||||
# Optional: mount opencode config directory (persists config changes across restarts)
|
# Persist opencode config (opencode.jsonc, oh-my-opencode-slim.json,
|
||||||
# Includes opencode.json, oh-my-opencode-slim.json, skills, etc.
|
# instructions, etc.) across container recreations. Auto-generated on
|
||||||
# When mounted, OPENCODE_PROVIDER auto-config is skipped if opencode.json exists.
|
# first start from env vars by generate-config.py and the skillset
|
||||||
# - ~/.config/opencode:/home/developer/.config/opencode
|
# 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
|
# NOTE: Do NOT bind-mount ~/.agents/skills/ from the host. The
|
||||||
# - ~/.agents/skills:/home/developer/.agents/skills:ro
|
# 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)
|
# Optional: mount neovim config from host (plugins auto-install on first start)
|
||||||
# - ~/.config/nvim:/home/developer/.config/nvim:ro
|
# - ~/.config/nvim:/home/developer/.config/nvim:ro
|
||||||
@@ -114,6 +120,7 @@ services:
|
|||||||
# - ~/.aws:/home/developer/.aws
|
# - ~/.aws:/home/developer/.aws
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
devbox-opencode-config:
|
||||||
devbox-data:
|
devbox-data:
|
||||||
devbox-state:
|
devbox-state:
|
||||||
devbox-shell-history:
|
devbox-shell-history:
|
||||||
|
|||||||
Reference in New Issue
Block a user