40 lines
No EOL
1.1 KiB
Markdown
40 lines
No EOL
1.1 KiB
Markdown
---
|
|
created: 2026-06-16
|
|
updated: 2026-06-16
|
|
sources: []
|
|
tags: [architecture, infrastructure, docker, persistence, historical]
|
|
---
|
|
|
|
# Container & Volume Persistence
|
|
|
|
> Migriert aus ByteRover context-tree (April 2026). Historische Lessons Learned.
|
|
|
|
## Root Cause: Container-Ephemeralität
|
|
|
|
Der Docker-Container hat ein **ephemeres Filesystem**. Dies war die Grundursache für:
|
|
|
|
- **3 Container-Resets (4.-6. April 2026):** LanceDB-Datenverlust, OAuth-Token-Verlust
|
|
- **Schicht 2 Memory permanent broken:** ByteRover OAuth-Token nicht auf Volume
|
|
- **Disk-Krise 2026-04-13:** Usage von 83% auf 95% über Nacht
|
|
|
|
## Lösung: Docker Volume Pattern
|
|
|
|
### Provisioning-Reihenfolge
|
|
|
|
```
|
|
1. Volume provisionieren (bot_workspace_2 → /home/node/workspace)
|
|
2. Permissions fixen: chown -R node:node /home/node/workspace
|
|
3. Stateful Plugins installieren
|
|
```
|
|
|
|
### Kritische Pfade, die persistiert werden müssen
|
|
|
|
- Config-Dateien
|
|
- `memory/` — alle Memory-Files
|
|
- `.brv-cli/` — ByteRover OAuth-Tokens (❗ nie implementiert)
|
|
- `.openclaw/` — OpenClaw-State
|
|
|
|
### Faustregel
|
|
|
|
> Verify volume mounts before installing any stateful plugin.
|
|
> Volume zuerst, dann Plugin — nie umgekehrt. |