From be9b37010ef62cf3863d5c4189724f546333f2f1 Mon Sep 17 00:00:00 2001 From: "Oliver Surke (Gitea)" Date: Tue, 12 May 2026 15:03:24 +0200 Subject: [PATCH] fix: back up Docker Desktop config files only, not the whole ~/.docker dir MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Docker Desktop checks that ~/.docker is a real directory and rejects it if it is a symlink (Mackup's default when backing up a whole dir). Solution: remove .docker from the skip list, add it to curated + selective. Mackup will symlink only ~/.docker/config.json and ~/.docker/daemon.json — the directory itself stays a real dir that Docker Desktop can manage. Co-authored-by: Cursor --- lib/mackup.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/mackup.sh b/lib/mackup.sh index 5e77173..78d7eb1 100644 --- a/lib/mackup.sh +++ b/lib/mackup.sh @@ -17,6 +17,7 @@ _SSR_MACKUP_CURATED=( .codex # OpenAI Codex config .easymcp # EasyMCP config .factory # Factory AI config + .docker # Docker Desktop — selective files only (see _SSR_MACKUP_SELECTIVE) .config/claude .config/cursor .config/gh # GitHub CLI (if not already in mackup) @@ -39,6 +40,9 @@ _SSR_MACKUP_SELECTIVE=( ".vscode=settings.json,keybindings.json,snippets" ".vscode-insiders=settings.json,keybindings.json,snippets" ".factory=settings.json,droids" + # Docker Desktop rejects ~/.docker as a symlink — back up individual files + # only so ~/.docker/ stays a real directory that Docker Desktop can manage. + ".docker=config.json,daemon.json" ) # Dot-dirs/files to never auto-include. @@ -47,7 +51,10 @@ _SSR_MACKUP_SKIP=( .Trash .localized .DS_Store .CFUserTextEncoding .cache .npm .yarn .pnpm .bun .gradle .m2 .ivy2 .sbt - .docker .vagrant .minikube .kube .helm + # .docker is handled via _SSR_MACKUP_SELECTIVE (individual files only). + # Docker Desktop rejects ~/.docker being a symlink, so we never back up + # the whole directory — only config.json / daemon.json as file symlinks. + .vagrant .minikube .kube .helm .local # runtime state, not config .bash_history .zsh_history .zsh_sessions .sh_history .lesshst .wget-hsts .python_history .node_repl_history