diff --git a/docker-compose.yml b/docker-compose.yml index 3a7e17ed..2c4cb71e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -90,6 +90,9 @@ services: # Persist OpenCode user configuration across container restarts - automaker-opencode-config:/home/automaker/.config/opencode + # Persist OpenCode cache directory (contains version file and other cache data) + - automaker-opencode-cache:/home/automaker/.cache/opencode + # NO host directory mounts - container cannot access your laptop files # If you need to work on a project, create it INSIDE the container # or use a separate docker-compose override file @@ -123,3 +126,8 @@ volumes: name: automaker-opencode-config # Named volume for OpenCode user configuration (~/.config/opencode) # Persists user configuration across container restarts + + automaker-opencode-cache: + name: automaker-opencode-cache + # Named volume for OpenCode cache directory (~/.cache/opencode) + # Contains version file and other cached data diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 9321ce37..153f5122 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -40,6 +40,13 @@ fi chown -R automaker:automaker /home/automaker/.config/opencode chmod -R 700 /home/automaker/.config/opencode +# OpenCode also uses ~/.cache/opencode for cache data (version file, etc.) +if [ ! -d "/home/automaker/.cache/opencode" ]; then + mkdir -p /home/automaker/.cache/opencode +fi +chown -R automaker:automaker /home/automaker/.cache/opencode +chmod -R 700 /home/automaker/.cache/opencode + # If CURSOR_AUTH_TOKEN is set, write it to the cursor auth file # On Linux, cursor-agent uses ~/.config/cursor/auth.json for file-based credential storage # The env var CURSOR_AUTH_TOKEN is also checked directly by cursor-agent