docker build -t opencode-dhammerl .Windows (PowerShell):
notepad $PROFILE(oder code $PROFILE / vim $PROFILE). Erstelle die Datei falls sie nicht existiert.
function oc {
param(
[Parameter(ValueFromRemainingArguments = $true)]
$args
)
$project = (Get-Location).Path
docker run --rm -it `
-v "${project}:/home/opencode_user/project" `
-v "$HOME\.config\opencode:/home/opencode_user/.config/opencode" `
-w /home/opencode_user/project `
-e GITHUB_TOKEN=<token> `
opencode-dhammerl @args
}Replace <token> with a GitHub token. Reload profile: . $PROFILE
macOS (zsh):
echo 'alias oc="docker run --rm -it \
-v \"$PWD:/home/opencode_user/project\" \
-v \"$HOME/.config/opencode:/home/opencode_user/.config/opencode\" \
-w /home/opencode_user/project \
-e GITHUB_TOKEN=<token> \
opencode-dhammerl"' >> ~/.zshrcReplace <token> with a GitHub token. Reload profile: source ~/.zshrc
Wenn du deine opencode-config in einem eigenen Git-Repo versionierst, kannst du es als Symlink anlegen. Änderungen landen dann direkt im Repo und bleiben persistent – auch über Container-Neustarts hinweg.
Windows (PowerShell):
# Sicherstellen dass ~\.config\opencode existiert
# (Docker volume mount braucht das Ziel)
if (Test-Path "$HOME\.config\opencode") {
Remove-Item "$HOME\.config\opencode" -Recurse -Force
}
# Symlink anlegen (Ziel = dein Repo)
New-Item -ItemType SymbolicLink -Path "$HOME\.config\opencode" `
-Target "C:\Users\Daniel\WebstormProjects\dhammerl-opencode-config"macOS:
# ~/.config/opencode löschen falls vorhanden
rm -rf ~/.config/opencode
# Symlink anlegen (Ziel = dein Repo)
ln -s /Users/danielhammerl/WebstormProjects/dhammerl-opencode-config ~/.config/opencodeHinweise:
- Windows: Symlinks brauchen entweder Admin-Rechte oder aktivierten Developer Mode (Windows 10/11 Einstellungen → Für Entwickler → Entwicklermodus). Ohne das:
New-Itemschlägt fehl – dann entweder Developer Mode aktivieren oder PowerShell als Administrator ausführen. - macOS: Symlinks funktionieren ohne besondere Berechtigungen.
- Docker Volume Mount: Docker folgt dem Symlink automatisch. Der Container sieht
/home/opencode_user/.config/opencodemit dem Inhalt deines Repos. - Persistenz: Einmal angelegt bleibt der Symlink – solange du das Repo nicht verschiebst oder löschst.
oc