--profile dryrun up -d startet zusaetzlich den Echtbetriebs-Container #2

Closed
opened 2026-08-22 00:32:14 +02:00 by Lyra · 1 comment
Collaborator

Getestet mit einem frischen Clone (82fe2d7, v0.11.1), Compose v2.40.3.

Was passiert

docs/installation.md A4 sagt fuer den Testlauf:

docker compose --profile dryrun up -d

Der Dienst klimacontrol (Echtbetrieb) hat kein profiles: und gilt damit
fuer Compose immer als ausgewaehlt. up startet ihn deshalb mit:

 Container klimacontrol         Created
 Container klimacontrol-dryrun  Starting
 Container klimacontrol         Starting
 Container klimacontrol         Started
 Container klimacontrol-dryrun  Started

Damit laufen Testlauf und Echtbetrieb gleichzeitig gegen dieselbe Anlage —
genau der Zustand, vor dem der Kommentarkopf der docker-compose.yml
warnt ("Niemals zwei davon gleichzeitig gegen dieselbe Anlage laufen
lassen"). Im Test blieb es folgenlos, weil die PortaSplit stromlos war;
im Normalfall laufen beide Seiten in Timeouts.

Nebenwirkung: der Echtbetriebs-Container schaltet wirklich und meldet
wirklich. alerts.send_in_dry_run: false schuetzt nur den Dry-Run-Container,
nicht den, der hier ungewollt mitstartet.

Dasselbe gilt fuer docs/installation.md "Docker im Alltag" (Zeile 311) und
fuer --profile web up -d, das den Echtbetrieb ebenfalls mitstartet.

Vorschlag

Eine der beiden Varianten:

  • Anleitung auf den Dienstnamen einschraenken:
    docker compose --profile dryrun up -d klimacontrol-dryrun
  • oder — robuster — dem Echtbetrieb ein eigenes Profil geben
    (z. B. profiles: ["live"]) und A5 auf --profile live up -d umstellen.
    Dann kann kein up mehr versehentlich den Regelbetrieb starten.

Die zweite Variante deckt auch den --profile web-Fall ab und macht die
Warnung im Dateikopf mechanisch wirksam, statt sie dem Leser zu ueberlassen.

Getestet mit einem frischen Clone (82fe2d7, v0.11.1), Compose v2.40.3. ## Was passiert `docs/installation.md` A4 sagt fuer den Testlauf: ```bash docker compose --profile dryrun up -d ``` Der Dienst `klimacontrol` (Echtbetrieb) hat kein `profiles:` und gilt damit fuer Compose immer als ausgewaehlt. `up` startet ihn deshalb mit: ``` Container klimacontrol Created Container klimacontrol-dryrun Starting Container klimacontrol Starting Container klimacontrol Started Container klimacontrol-dryrun Started ``` Damit laufen Testlauf und Echtbetrieb gleichzeitig gegen dieselbe Anlage — genau der Zustand, vor dem der Kommentarkopf der `docker-compose.yml` warnt ("Niemals zwei davon gleichzeitig gegen dieselbe Anlage laufen lassen"). Im Test blieb es folgenlos, weil die PortaSplit stromlos war; im Normalfall laufen beide Seiten in Timeouts. Nebenwirkung: der Echtbetriebs-Container schaltet wirklich und meldet wirklich. `alerts.send_in_dry_run: false` schuetzt nur den Dry-Run-Container, nicht den, der hier ungewollt mitstartet. Dasselbe gilt fuer `docs/installation.md` "Docker im Alltag" (Zeile 311) und fuer `--profile web up -d`, das den Echtbetrieb ebenfalls mitstartet. ## Vorschlag Eine der beiden Varianten: - Anleitung auf den Dienstnamen einschraenken: `docker compose --profile dryrun up -d klimacontrol-dryrun` - oder — robuster — dem Echtbetrieb ein eigenes Profil geben (z. B. `profiles: ["live"]`) und A5 auf `--profile live up -d` umstellen. Dann kann kein `up` mehr versehentlich den Regelbetrieb starten. Die zweite Variante deckt auch den `--profile web`-Fall ab und macht die Warnung im Dateikopf mechanisch wirksam, statt sie dem Leser zu ueberlassen.
Author
Collaborator

Behoben in 57c395f (0.14.0), Variante 2: der Echtbetrieb haengt jetzt am Profil live, A4/A5/A6 und der Alltags-Abschnitt sind umgestellt, der Kopf der docker-compose.yml erklaert das Warum. Ein up ohne Profil startet nichts mehr; docker compose run --rm klimacontrol ... funktioniert unveraendert (run waehlt den benannten Dienst auch hinter einem Profil aus, mit Dry-Run gegengeprueft).

Behoben in 57c395f (0.14.0), Variante 2: der Echtbetrieb haengt jetzt am Profil `live`, A4/A5/A6 und der Alltags-Abschnitt sind umgestellt, der Kopf der docker-compose.yml erklaert das Warum. Ein `up` ohne Profil startet nichts mehr; `docker compose run --rm klimacontrol ...` funktioniert unveraendert (run waehlt den benannten Dienst auch hinter einem Profil aus, mit Dry-Run gegengeprueft).
Lyra closed this issue 2026-08-22 01:00:05 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
draventec/klimacontrol#2
No description provided.