docs: Fix .env-Deployment-Pitfall - restart vs up -d
docker compose restart liest .env NICHT neu ein, weil die
environment:-Section in docker-compose.yml ${VAR:-default} Syntax
nutzt, die nur bei docker compose up ausgewertet wird.
Korrigiert in copilot-instructions.md und ZERO_DOWNTIME_CHANGES.md.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2001,11 +2001,19 @@ docker logs trading-bot-v4 | grep "Server starting" | head -1
|
||||
|------------|--------|----------|------|
|
||||
| Documentation (`.md`) | **NONE** | 0s | Just commit and push |
|
||||
| Workflows (`.json`, `.pinescript`) | **NONE** | 0s | Import manually to TradingView/n8n |
|
||||
| ENV variables (`.env`) | **RESTART** | 5-10s | `docker compose restart trading-bot` |
|
||||
| ENV variables (`.env`) | **RECREATE** | 5-10s | `docker compose up -d trading-bot` (NOT `restart` — see below) |
|
||||
| Database schema | **MIGRATE + RESTART** | 10-15s | `prisma migrate + restart` |
|
||||
| Code (`.ts`, `.tsx`, `.js`) | **REBUILD** | 40-70s | TypeScript must recompile |
|
||||
| Dependencies (`package.json`) | **REBUILD** | 40-70s | npm install required |
|
||||
|
||||
**⚠️ PITFALL: `docker compose restart` liest .env NICHT neu ein (Bug #90, Jan 30 2026)**
|
||||
- `docker-compose.yml` nutzt `environment:` mit `${VAR:-default}` Syntax
|
||||
- Diese Variablen werden nur bei `docker compose up` ausgewertet, NICHT bei `restart`
|
||||
- `restart` startet den Container mit den **alten** Environment-Variablen neu
|
||||
- **Richtig:** `docker compose up -d trading-bot` → recreated den Container mit neuen Werten
|
||||
- **Falsch:** `docker compose restart trading-bot` → alte .env-Werte bleiben aktiv
|
||||
- **Verifizierung:** `docker exec trading-bot-v4 env | grep VARIABLE` zeigt die tatsächlich aktiven Werte
|
||||
|
||||
**Smart Batching Strategy:**
|
||||
- **DON'T:** Rebuild after every single code change (6× rebuilds = 6 minutes downtime)
|
||||
- **DO:** Batch related changes together (6 fixes → 1 rebuild = 50 seconds total)
|
||||
|
||||
Reference in New Issue
Block a user