Updates von TCMSOFT
TCMSOFT aktualisiert sich im Docker-Betrieb selbst. Das übernimmt der Update-Dienst, der Container
tcmsoft-updater. Er prüft jede Nacht, ob es eine neue Version gibt, sichert vorher die Datenbank, tauscht den
Container tcmsoft gegen die neue Version aus und holt die alte Version zurück, wenn die neue nicht anläuft. Von Hand
eingerichtet wird nur der Update-Dienst, und das genau einmal (siehe TCMSOFT einrichten).
Diese Seite erklärt, wann Updates kommen, wie man sie sofort auslöst, woran man Erfolg und Fehler erkennt und was in Sonderfällen zu tun ist. Die Updates der Programme an den Arbeitsplätzen stehen unter Updates der Agenten.
Auf einen Blick
| Was | Wert |
|---|---|
| Prüfung | jede Nacht um 03:00 (deutsche Zeit), einstellbar |
| Automatisch eingespielt | nur in den 3 Stunden ab dieser Uhrzeit, nie im Praxisbetrieb |
| Sofort einspielen | Stammdaten › Backup, Karte Programmversion und Updates, Jetzt aktualisieren |
| Vor dem Umschalten | Kopie des Datenbankordners mongodb/ nach vor-update/ |
| Startfrist der neuen Version | 30 Minuten |
| Wenn die neue Version nicht anläuft | automatischer Rückfall auf die alte Version mit der alten Datenbank |
| Fehlgeschlagene Version | wird auf diesem Server nie wieder versucht (updater/fehlgeschlagen-tcmsoft.txt) |
| Ergebnis | in TCMSOFT unter den Nachrichten (Glocke) und auf der Backup-Seite |
| Quelle | nur vom Hersteller signierte Pakete von downloads.tcmsoft.de |
| Aktuelle Versionen | TCMSOFT 2026.11.7.1, Update-Dienst 2026.11.2.1 |
In den Befehlen dieser Seite steht <Datenordner> für den Datenordner auf dem Server, z. B. /volume1/docker/tcmsoft
(Synology) oder /var/lib/tcmsoft (Mikroserver). Alle Befehle per SSH als Administrator (sudo -i).
Wo Sie den Stand sehen
In TCMSOFT
Stammdaten › Backup, Karte Programmversion und Updates. Die Karte erscheint nur in der Docker-Installation (TCMSOFT im Container). Die Seite öffnet, wer das Recht Stammdaten hat.
| Feld | Bedeutung |
|---|---|
| Installierte Version | Version des laufenden TCMSOFT |
| Verfügbare Version | neuere Version, die der Update-Dienst bei der letzten Prüfung gefunden hat; sonst „keine neuere bekannt“ |
| Letzte Prüfung | Zeitpunkt der letzten Prüfung; vor der ersten „noch keine“ |
| Prüfung täglich um | eingestellte Uhrzeit der nächtlichen Prüfung |
| Neu in dieser Version | Änderungen der verfügbaren Version (nur, wenn eine bekannt ist) |
Darunter erscheinen bei Bedarf:
- eine Warnkarte mit dem letzten Fehler, z. B. fehlendes Internet, Platzmangel oder eine laufende Datenübernahme;
- die Warnkarte „Der Update-Dienst meldet sich nicht“, wenn er seinen Stand länger als 5 Minuten nicht geschrieben hat (siehe Updates anhalten);
- eine Hinweiskarte mit dem aktuellen Schritt, solange ein Update läuft.
Jedes Ergebnis des Update-Dienstes meldet TCMSOFT genau einmal in den Nachrichten (Glocke). TCMSOFT sieht dafür alle 30 Sekunden nach, zum ersten Mal 20 Sekunden nach dem Start.
Am Server
Das Protokoll des Update-Dienstes:
docker logs --tail 100 tcmsoft-updater
Jede Zeile beginnt mit [updater] und Datum und Uhrzeit. Mitlesen, während ein Update läuft:
docker logs -f tcmsoft-updater
Den Stand, den TCMSOFT anzeigt, schreibt der Update-Dienst in updater/status.json im Datenordner, mindestens einmal
pro Minute:
cat <Datenordner>/updater/status.json
Wichtige Felder: UpdaterVersion (Version des Update-Dienstes), TcmsoftVersion (zuletzt gelaufene TCMSOFT-Version),
VerfuegbareVersion, LetzterFehler, LaeuftGerade und Schritt, dazu die letzten 20 Ergebnisse unter Ergebnisse.
Welche Images auf dem Server liegen:
docker image ls tcmsoft
docker image ls tcmsoft-updater
Nach einem gelungenen Update bleiben von TCMSOFT die laufende und die vorige Version liegen, ältere entfernt der Update-Dienst selbst.
Wann geprüft und eingespielt wird
- Der Update-Dienst prüft einmal pro Nacht zur eingestellten Uhrzeit (Standard 03:00). Gibt es eine neue Version, spielt er sie im selben Lauf ein.
- Automatisch eingespielt wird nur in den 3 Stunden ab dieser Uhrzeit. Ist der Server in dieser Zeit aus, kommt das Update in der nächsten Nacht.
- Startet der Update-Dienst (oder der Server) neu, nachdem die Uhrzeit an diesem Tag schon vorbei ist, prüft er erst in der nächsten Nacht wieder. Ein Neustart löst also nie ein Update im Praxisbetrieb aus.
- Scheitert die nächtliche Prüfung (z. B. kein Internet), gibt es in dieser Nacht keinen zweiten Versuch.
- Tagsüber spielt der Update-Dienst eine neue Version nur nach Jetzt aktualisieren ein. Einzige Ausnahme: Fehlen
der Container
tcmsoftund auch das Image der zuletzt gelaufenen Version, lädt er sofort die aktuelle Version (siehe Container neu anlegen).
Uhrzeit ändern
Wozu: Wenn die Praxis nachts arbeitet (z. B. Nachtdienst) oder der Server zu dieser Zeit regelmäßig aus ist.
Die Uhrzeit gehört zum Update-Dienst, nicht zu tcmsoft.env. Sie wird beim Anlegen des Update-Dienstes mit
UPDATE_UHRZEIT (Format HH:mm) festgelegt. Deshalb den Update-Dienst entfernen und mit der neuen Uhrzeit wieder
anlegen. TCMSOFT selbst läuft dabei weiter.
Auf der Backup-Seite prüfen, dass gerade kein Update läuft (keine Hinweiskarte mit einem Schritt). Wird der Dienst mitten in einem Update entfernt, macht der neu angelegte Dienst beim Start anhand von
updater/vorgang.jsonweiter (siehe Unterbrechung durch einen Neustart).Update-Dienst entfernen:
docker rm -f tcmsoft-updaterWieder anlegen, mit demselben Befehl wie bei der Einrichtung und zusätzlich
-e UPDATE_UHRZEIT=…:docker run -d --name tcmsoft-updater --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v <Datenordner>:<Datenordner> -e TCMSOFT_DATEN=<Datenordner> -e UPDATE_UHRZEIT=04:30 tcmsoft-updaterDer Datenordner steht wieder dreimal mit genau demselben Pfad darin. Wurde bei der Einrichtung eine andere Zeitzone mit
-e TZ=…angegeben, diese Angabe wieder mitgeben (Standard istEurope/Berlin).
Woran Sie den Erfolg erkennen: In der ersten Zeile im Protokoll (docker logs tcmsoft-updater) steht
TCMSOFT-Updater 2026.10.7.1 startet: Datenordner <Datenordner>, Prüfung täglich um 04:30. Spätestens nach einer
Minute zeigt die Backup-Seite (neu laden) unter Prüfung täglich um die neue Uhrzeit.
Wenn nicht: Steht dort weiter 03:00, war der Wert ungültig. Der Update-Dienst nimmt dann ohne Meldung 03:00. Die
Schreibweise prüfen (z. B. 04:30, nicht 4.30) und die Schritte 2 und 3 wiederholen.
Jetzt prüfen und Jetzt aktualisieren
Beide Schaltflächen stehen auf Stammdaten › Backup in der Karte Programmversion und Updates. TCMSOFT legt dafür
nur einen Auftrag für den Update-Dienst ab (Datei updater/anforderung). Der Dienst greift ihn binnen Sekunden auf.
Jetzt prüfen
Fragt sofort bei downloads.tcmsoft.de nach, ob es eine neuere TCMSOFT-Version gibt. Es wird nichts eingespielt. Die
Seite wartet bis zu einer Minute auf die Antwort und meldet dann:
| Meldung | Bedeutung |
|---|---|
| „Neue Version verfügbar“ – „Version … liegt bereit - „Jetzt aktualisieren“ spielt sie ein, sonst geschieht das in der kommenden Nacht.“ | Es gibt eine neuere Version. |
| „Versionsprüfung“ – „TCMSOFT … ist aktuell.“ | Es gibt nichts Neueres. |
| „Versionsprüfung“ – „Der Update-Dienst hat noch nicht geantwortet. Bitte die Seite in einer Minute neu laden.“ | Der Dienst hat nicht binnen einer Minute geantwortet. Läuft er nicht, siehe Updates anhalten. |
Scheitert die Prüfung, steht der Grund in einer Warnkarte, z. B. „Die Versionsprüfung bei downloads.tcmsoft.de ist fehlgeschlagen - bitte die Internetverbindung des Servers prüfen (…).“
Jetzt prüfen prüft nur TCMSOFT, nicht den Update-Dienst selbst. Der wird nachts und bei Jetzt aktualisieren geprüft.
Jetzt aktualisieren
Spielt die verfügbare Version sofort ein, auch tagsüber. Die Schaltfläche ist nur aktiv, wenn unter Verfügbare Version eine Version steht und gerade kein Update läuft. Steht dort „keine neuere bekannt“, zuerst Jetzt prüfen.
- Jetzt aktualisieren klicken.
- Die Rückfrage „Jetzt auf Version … aktualisieren?“ bestätigen. Sie weist darauf hin, dass der Update-Dienst zuerst die Datenbank sichert und TCMSOFT dann für alle Anwender neu startet, was einige Minuten dauert. Vorher sollten alle Anwender ihre offenen Einträge speichern.
- TCMSOFT meldet „Update angefordert“. Sobald die neue Version geladen ist, beendet der Update-Dienst TCMSOFT. Ab dann ist TCMSOFT nicht erreichbar, bis die neue Version läuft.
Vorher sieht der Update-Dienst nach, ob es eine neue Version von ihm selbst gibt, und aktualisiert sich zuerst (siehe Selbst-Update des Update-Dienstes). Danach läuft das Update genau wie nachts ab.
Woran Sie den Erfolg erkennen: Nach einigen Minuten ist TCMSOFT wieder erreichbar, unter den Nachrichten steht „Update auf Version …“, und Installierte Version zeigt die neue Version.
Ablauf eines Updates
So läuft jedes Update ab, nachts wie nach Jetzt aktualisieren. In Klammern steht der Schritt, den der Update-Dienst ins Protokoll und auf die Backup-Seite schreibt.
- Paket prüfen. Der Dienst holt das Versionsmanifest und prüft die Signatur des Herstellers und die Architektur
(
x64oderarm64). Ein unsigniertes oder unbrauchbares Paket wird nie eingespielt („Update nicht installiert“). - Laden („Version … wird heruntergeladen …“, „Version … wird geladen …“). Die Image-Datei (rund 1 GB) kommt nach
updater/download/, die Prüfsumme wird kontrolliert, das Image in Docker geladen und die Datei gleich wieder gelöscht. Liegt das Image schon auf dem Server, entfällt das Laden. - Platz prüfen. Reste eines früheren Updates werden entfernt, dann prüft der Dienst, ob die Sicherung der Datenbank Platz hat (siehe Platzmangel). Bis hierher läuft TCMSOFT ungestört weiter.
- TCMSOFT beenden („TCMSOFT wird für das Update beendet …“). Der Container
tcmsoftwird geordnet gestoppt (bis zu 2 Minuten) und intcmsoft-vorherumbenannt. Ab hier ist TCMSOFT nicht erreichbar. - Datenbank sichern („Datenbank wird gesichert …“). Der Ordner
mongodb/wird nachvor-update/mongodbkopiert. - Neue Version starten („Version … wird gestartet …“, dann „Version … startet - die Datenbank wird bei Bedarf
angepasst …“). Der Dienst legt den Container
tcmsoftmit der neuen Version und den Einstellungen austcmsoft.envan. - Warten, bis die neue Version betriebsbereit ist, höchstens 30 Minuten (siehe Startfrist und Rückfall).
- Abschließen. Die Nachricht „Update auf Version …“ mit dem Text „TCMSOFT wurde auf Version … aktualisiert. Neu: …“
erscheint. Danach entfernt der Dienst
tcmsoft-vorher, die Sicherung invor-update/, die Downloads und alte Images.
Wie lange TCMSOFT nicht erreichbar ist, hängt vor allem von Schritt 5 und 7 ab: Auf Btrfs oder XFS ist die Sicherung
sofort fertig. Auf anderen Dateisystemen wird die Datenbank wirklich kopiert, das dauert je nach Größe länger. Muss die
neue Version die Datenbank anpassen, steht im Protokoll von TCMSOFT (docker logs tcmsoft) jede Minute
„TCMSOFT startet noch (… s) - bei großen Datenbeständen dauert das Anpassen der Datenbank einige Minuten“. Das ist
normal.
Die Kopie in
vor-update/ist nur eine Sicherheitskopie für die Dauer des Updates und danach wieder leer. Sie ersetzt keine Datensicherung, siehe Datensicherung und Umzug.
Startfrist und Rückfall
Die neue Version gilt als betriebsbereit, wenn ihr Docker-Healthcheck „healthy“ meldet. Dafür muss TCMSOFT antworten und die Datenbank erreichbar sein. Zustand ansehen:
docker inspect --format '{{.State.Health.Status}}' tcmsoft
Der Update-Dienst holt die alte Version automatisch zurück, wenn
- die neue Version nach 30 Minuten nicht betriebsbereit ist („Die neue Version war nach 30 Minuten nicht betriebsbereit.“) oder
- sie beim Start wiederholt abbricht: Docker hat den Container 3-mal neu gestartet, oder er ist endgültig beendet („Die neue Version bricht beim Start wiederholt ab.“). Bricht TCMSOFT im Container dreimal kurz nach dem Start ab, beendet sich der Container selbst, damit der Update-Dienst das sofort erkennt.
Was beim Rückfall geschieht („Vorherige Version wird wiederhergestellt …“):
- Der neue Container wird gestoppt. Die letzten 500 Zeilen seines Protokolls kommen nach
updater/protokoll/tcmsoft-<Version>.log, dann wird er entfernt. - Hatte die neue Version die Datenbank schon in Händen, kommt
mongodb/ausvor-update/zurück. tcmsoft-vorherwird wieder zutcmsoftund startet. Er hat 10 Minuten Zeit, betriebsbereit zu werden.- Die Version wird in
updater/fehlgeschlagen-tcmsoft.txteingetragen und auf diesem Server nie wieder versucht. - Nachricht „Update auf Version … fehlgeschlagen“: „… TCMSOFT läuft weiter mit Version …, die Datenbank ist auf dem Stand vor dem Update. Diese Version wird nicht erneut eingespielt - bitte den TCMSOFT-Support informieren.“
Was Sie tun: Die Praxis arbeitet mit der alten Version weiter. Die Datei updater/protokoll/tcmsoft-<Version>.log an den
TCMSOFT-Support geben. Eine korrigierte Fassung kommt mit einer neuen Versionsnummer und wird dann wieder normal
eingespielt.
Wenn auch die alte Version nicht anläuft, kommt eine dieser Nachrichten. Da TCMSOFT dann nicht läuft, stehen sie
zunächst nur im Protokoll des Update-Dienstes (docker logs tcmsoft-updater); in der Glocke erscheinen sie, sobald
TCMSOFT wieder läuft.
- „TCMSOFT läuft nach einem Update nicht“: Auch die alte Version ist nach 10 Minuten nicht betriebsbereit.
- „TCMSOFT nach einem Update nicht wiederhergestellt“: Beim Zurückkehren ist ein Fehler aufgetreten. Der Update-Dienst beendet sich, wird von Docker nach 30 Sekunden neu gestartet und setzt den Rückfall fort.
In beiden Fällen sofort den TCMSOFT-Support informieren und nichts von Hand entfernen. Für den Support nützlich:
docker ps -a
docker logs --tail 200 tcmsoft
docker logs --tail 200 tcmsoft-updater
Unterbrechung durch einen Neustart
Startet der Server oder der Update-Dienst mitten in einem Update neu, steht der erreichte Schritt in
updater/vorgang.json. Beim nächsten Start macht der Dienst damit weiter:
- War TCMSOFT noch nicht beendet, läuft es einfach weiter.
- Lief die neue Version schon, wartet er die Startfrist ab und schließt ab oder fällt zurück.
- Sonst stellt er den alten Stand wieder her und meldet „Update auf Version … unterbrochen“. Der nächste Versuch kommt in der folgenden Nacht.
Die Datei updater/vorgang.json steuert diese Wiederaufnahme. Nie von Hand löschen.
Neue MongoDB-Version
Bringt ein Update eine neuere MongoDB mit, läuft sie zunächst 7 Tage mit dem alten Datenformat. So bleibt der Rückweg offen. Danach hebt TCMSOFT das Format selbst an. Im Protokoll von TCMSOFT steht dann „Datenformat der MongoDB von … auf … angehoben.“
Zurück zur vorigen Version von Hand
Die vorige TCMSOFT-Version bleibt als Image auf dem Server. Eine ältere Version spielt der Update-Dienst aber nie ein, denn die Datenbank ist nach einem gelungenen Update schon angepasst. Ein freigegebenes Verfahren für den Rückweg von Hand gibt es nicht. Nur in Abstimmung mit dem TCMSOFT-Support.
Platzmangel
Der Update-Dienst sichert mongodb/ vor dem Umschalten:
- Auf Btrfs (Standard bei Synology) oder XFS legt er einen Klon an. Der kostet keinen zusätzlichen Platz und ist sofort fertig. Ob das geht, prüft der Dienst selbst.
- Auf anderen Dateisystemen kopiert er die Datenbank. Dann müssen im Datenordner frei sein: Größe der Datenbank plus 10 % plus 2 GB Reserve.
Reicht der Platz nicht, verschiebt er das Update. TCMSOFT läuft unverändert weiter, und es kommt einmal je Version die Warnung „Update auf Version … verschoben“: „Für die Sicherung der Datenbank vor dem Update fehlt Speicherplatz (Datenbank … GB, frei … GB). Bitte Speicher auf dem Server freigeben oder den TCMSOFT-Support informieren - das Update wird jede Nacht erneut versucht.“ Das schon geladene Image bleibt liegen und wird nicht jede Nacht neu heruntergeladen.
Was Sie tun:
Platz und Datenbankgröße ansehen:
df -h <Datenordner>du -sh <Datenordner>/mongodbPlatz auf dem Volume des Datenordners schaffen, z. B. andere Daten auf der NAS verschieben oder das Volume vergrößern.
Im Datenordner selbst nichts von Hand löschen. Unverzichtbar sind
mongodb/,keys/,tcmsoft.env,cups/undprintagent/, dazutreiber/undschriften/, falls genutzt (ein austreiber/gelöschtes Treiberpaket entfernt TCMSOFT beim nächsten Start, der Drucker druckt dann nicht mehr). Ob in anderen Unterordnern gelöscht werden darf, ist nicht beschrieben – vorher beim TCMSOFT-Support nachfragen.Abwarten: Der Dienst versucht es jede Nacht erneut. Oder sofort mit Jetzt aktualisieren.
Auch für den Download eines Updates (rund 1 GB in updater/download/) und für die tägliche Datensicherung (in tmp/)
braucht der Datenordner Platz. Bei vollem Datenträger startet die MongoDB nicht. Mehr zu den Voraussetzungen unter
Voraussetzungen.
Während einer Datenübernahme
Solange eine Datenübernahme aus dem bisherigen TCMSOFT läuft, spielt der Update-Dienst nichts ein. TCMSOFT hält dafür
die Datei updater/sperre frisch (alle 30 Sekunden). Wird sie 5 Minuten lang nicht erneuert, z. B. weil TCMSOFT
beendet wurde, gilt die Sperre als verwaist und zählt nicht mehr.
Fällt ein Update in diese Zeit, steht auf der Backup-Seite „Das Update auf … wartet, bis die laufende Datenübernahme beendet ist.“ Ist die Übernahme beendet, gilt:
- War Jetzt aktualisieren gewählt oder ist es noch im nächtlichen Fenster, spielt der Dienst das Update gleich ein.
- Sonst kommt es in der nächsten Nacht, damit TCMSOFT nicht mitten im Praxisbetrieb neu startet.
Mehr zur Datenübernahme unter Datenübernahme aus dem bisherigen TCMSOFT.
Fehlgeschlagene Versionen
Eine Version, die nach dem Umschalten nicht anlief, steht in updater/fehlgeschlagen-tcmsoft.txt, eine Version je
Zeile. Der Update-Dienst spielt sie auf diesem Server nie wieder ein. Auf der Backup-Seite steht dann „Version … ist
auf diesem Server fehlgeschlagen und wird nicht erneut eingespielt.“
cat <Datenordner>/updater/fehlgeschlagen-tcmsoft.txt
Das Protokoll der gescheiterten Version liegt unter updater/protokoll/tcmsoft-<Version>.log. Diese Datei braucht der
TCMSOFT-Support.
Doch noch einmal versuchen – nur nach Klärung der Ursache mit dem TCMSOFT-Support:
Die Datei löschen. Damit sind alle darin genannten Versionen wieder zugelassen.
rm <Datenordner>/updater/fehlgeschlagen-tcmsoft.txtAuf der Backup-Seite Jetzt prüfen. Danach steht die Version wieder unter Verfügbare Version.
Jetzt aktualisieren. Ohne diesen Schritt kommt das Update in der nächsten Nacht.
Für den Update-Dienst selbst gibt es entsprechend updater/fehlgeschlagen-updater.txt und das Protokoll
updater/protokoll/updater-<Version>.log. Eine freigegebene Anleitung, eine solche Version wieder zuzulassen, gibt es
nicht – beim TCMSOFT-Support abstimmen.
Selbst-Update des Update-Dienstes
Der Update-Dienst aktualisiert sich selbst. Er sieht nachts und bei Jetzt aktualisieren nach, ob es eine neue Version von ihm gibt, und zwar vor dem TCMSOFT-Update.
So läuft die Übergabe:
- Der alte Dienst lädt das neue Image („Update-Dienst wird auf Version … aktualisiert …“) und startet es als zweiten
Container
tcmsoft-updater-neu. - Der neue Dienst prüft sich, entfernt den alten Container und übernimmt den Namen
tcmsoft-updater. Im Protokoll steht „Neuer Update-Dienst … übernimmt.“ - Alte Images des Update-Dienstes werden entfernt.
Woran Sie den Erfolg erkennen: docker ps zeigt keinen Container tcmsoft-updater-neu mehr, sondern nur
tcmsoft-updater, und in updater/status.json steht die neue UpdaterVersion:
grep UpdaterVersion <Datenordner>/updater/status.json
Wenn nicht: Übernimmt der neue Dienst nicht binnen 3 Minuten, entfernt der alte ihn wieder und arbeitet weiter. Das
Protokoll des neuen liegt unter updater/protokoll/updater-<Version>.log, die Version wird in
updater/fehlgeschlagen-updater.txt vermerkt, und es kommt die Warnung „Update-Dienst nicht aktualisiert“. Das
Protokoll an den TCMSOFT-Support geben. TCMSOFT-Updates laufen mit dem alten Dienst weiter. Scheitert schon der
Download des neuen Dienstes, steht das nur im Protokoll („Neuer Update-Dienst … nicht geladen: …“); der nächste
Versuch kommt in der folgenden Nacht.
Wichtig für Installateure:
- Der neue Dienst übernimmt vom alten nur diese Einstellungen:
TCMSOFT_DATEN,UPDATE_UHRZEIT,MANIFEST_BASISundTZ. Andere Umgebungsvariablen, die beim Anlegen von Hand gesetzt wurden, gehen beim Selbst-Update verloren. - Nach einer gelungenen Übergabe gibt es keinen automatischen Rückfall auf den alten Update-Dienst.
- Ab Update-Dienst 2026.10.7.1 geht ein Jetzt aktualisieren bei der Übergabe nicht verloren: Der alte Dienst legt den Auftrag für den neuen zurück, und der spielt das TCMSOFT-Update gleich danach ein. Beim Wechsel eines älteren Dienstes auf 2026.10.7.1 kann ein gleichzeitiges Jetzt aktualisieren noch bis zur nächsten Nacht liegen bleiben.
Container neu anlegen
Wozu: Docker liest die Einstellungen aus tcmsoft.env nur beim Anlegen eines Containers. Nach jeder Änderung an
tcmsoft.env (Port, Server__SichereCookies, Mongo__Port, Notbremse für die Agenten) muss der Container tcmsoft
deshalb neu angelegt werden. docker restart tcmsoft reicht dafür nicht. Welche Zeilen es gibt, steht unter
Datenordner und tcmsoft.env.
Wie (Update-Dienst ab 2026.10.7.1):
tcmsoft.envim Datenordner ändern und speichern.Den Container entfernen:
docker rm -f tcmsoftWarten. Der Update-Dienst legt den Container kurz darauf wieder an, spätestens nach 10 Minuten.
Dabei nimmt er immer die zuletzt gelaufene Version (in updater/status.json das Feld TcmsoftVersion): ohne
Internet, nie eine neuere oder ältere, nie ein geladenes, aber noch nicht eingespieltes Image. Neue Versionen kommen
weiterhin nur über das Update mit Sicherung. Daten, Anmeldungen und Drucker bleiben erhalten.
Woran Sie den Erfolg erkennen: Die Nachricht „TCMSOFT … neu angelegt“ erscheint, und docker ps zeigt den Container
tcmsoft wieder. Im Protokoll des Update-Dienstes steht „TCMSOFT wird mit dem vorhandenen Image … angelegt (zuletzt
gelaufen: …)“.
Wenn nicht (solange TCMSOFT nicht läuft, stehen die Meldungen im Protokoll des Update-Dienstes,
docker logs tcmsoft-updater; in der Glocke erscheinen sie, sobald TCMSOFT wieder läuft):
- „TCMSOFT startet nicht“ mit dem Hinweis auf
tcmsoft.env: Meist ist die letzte Änderung schuld, z. B. ein schon belegter Port. Den Grund zeigtdocker logs tcmsoft. Die Änderung korrigieren und den Container erneut entfernen. - „TCMSOFT … neu geladen“ (Warnung): Das Image der zuletzt gelaufenen Version fehlte auf dem Server, z. B. weil es
von Hand gelöscht wurde. Der Dienst hat dann die aktuelle Version von
downloads.tcmsoft.degeladen und ohne Sicherung der Datenbank gestartet. Prüfen, ob alles wie gewohnt läuft, sonst den TCMSOFT-Support informieren. Deshalb keine TCMSOFT-Images von Hand löschen, solange der Container fehlt. - „TCMSOFT startet nicht“ nach einem solchen Laden ohne Sicherung: nichts weiter versuchen, den Container nicht erneut entfernen und sofort den TCMSOFT-Support informieren.
- Der Container kommt gar nicht wieder: Läuft der Update-Dienst?
docker ps -azeigen lassen und Updates anhalten beachten. Läuft er, steht der Grund indocker logs tcmsoft-updater(„TCMSOFT konnte nicht eingerichtet werden: … - neuer Versuch in 10 Minuten.“).
Ist nicht bekannt, welche Version zuletzt lief (z. B. weil updater/status.json fehlt), nimmt der Dienst die höchste
vorhandene Version, die auf diesem Server nicht fehlgeschlagen ist.
Nur neu starten, ohne neu anzulegen, z. B. nach neuen Dateien in treiber/ oder schriften/ oder nach einer
Wiederherstellung:
docker restart tcmsoft
Update-Dienst vor und ab 2026.10.7.1
Mit Version 2026.10.7.1 hat sich das Verhalten des Update-Dienstes an wichtigen Stellen geändert. Welche Version läuft:
grep UpdaterVersion <Datenordner>/updater/status.json
Oder im Protokoll die Startzeile „TCMSOFT-Updater … startet“.
| Situation | vor 2026.10.7.1 | ab 2026.10.7.1 |
|---|---|---|
docker rm -f tcmsoft |
Fehlte der Container, richtete der Dienst eine neuere Version von downloads.tcmsoft.de sofort ein, ohne Sicherung und ohne Rückfall. Nach einem Rückfall nahm er sogar das Image der fehlgeschlagenen Version. |
Der Container kommt immer mit der zuletzt gelaufenen Version zurück („TCMSOFT … neu angelegt“). |
| Jetzt aktualisieren während des Selbst-Updates | Der Auftrag konnte verloren gehen, das Update kam erst in der nächsten Nacht. | Der neue Dienst übernimmt den Auftrag und spielt das Update gleich ein. |
| Update nach Platzmangel verschoben | Die Image-Datei blieb in updater/download/ liegen und wurde jede Nacht erneut in Docker geladen. |
Das geladene Image wird wiederverwendet, der Download-Ordner gleich geleert. |
Einen älteren Update-Dienst müssen Sie nicht von Hand ersetzen. Er aktualisiert sich in der nächsten Nacht selbst auf 2026.10.7.1 (oder bei Jetzt aktualisieren, wenn gerade eine neue TCMSOFT-Version bereitliegt).
Solange noch ein Update-Dienst vor 2026.10.7.1 läuft:
- Wenn möglich, mit
docker rm -f tcmsoftbis nach der nächsten Nacht warten und dann die Version des Update-Dienstes prüfen. - Muss es sofort sein: zuerst auf der Backup-Seite Jetzt prüfen. Liegt eine neue Version bereit, stattdessen
Jetzt aktualisieren. Das Update sichert vorher die Datenbank und legt den Container mit den neuen Einstellungen
aus
tcmsoft.envan. Nur wenn keine neue Version bereitliegt,docker rm -f tcmsoft. - Nach einem fehlgeschlagenen Update (Rückfall) mit einem älteren Dienst kein
docker rm -f tcmsoft– erst mit dem TCMSOFT-Support abstimmen.
Notbremse: Updates anhalten
Wozu: vor Arbeiten von Hand an den Containern, oder wenn der TCMSOFT-Support darum bittet, z. B. bei einer verdächtigen Version.
Den Update-Dienst anhalten:
docker stop tcmsoft-updater
Solange er steht:
- werden keine Updates eingespielt. Ein in dieser Zeit angeklicktes Jetzt aktualisieren bleibt als Auftrag liegen und wird ausgeführt, sobald der Dienst wieder läuft – auch tagsüber;
- legt niemand einen entfernten Container
tcmsoftneu an; - bleibt er auch nach einem Neustart des Servers gestoppt (Docker-Einstellung
unless-stopped); - zeigt die Backup-Seite nach 5 Minuten „Der Update-Dienst meldet sich nicht (zuletzt …). Solange er nicht läuft, werden keine Updates eingespielt - bitte den TCMSOFT-Support informieren.“
Wieder einschalten:
docker start tcmsoft-updater
Woran Sie den Erfolg erkennen: Die Warnkarte verschwindet nach spätestens einer Minute (Seite neu laden), docker ps zeigt
tcmsoft-updater als laufend.
Wenn nicht: Startet der Dienst nicht, steht der Grund in docker logs tcmsoft-updater, z. B. ein falsch eingebundener
Datenordner oder ein fehlender Zugriff auf Docker. Die Meldungen erklärt
Meldungen und ihre Bedeutung.
Von Hand an TCMSOFT arbeiten (Support): vorher docker stop tcmsoft-updater, danach docker start tcmsoft-updater. Sonst legt der Update-Dienst einen entfernten Container sofort wieder an. Einen vorhandenen, aber
gestoppten Container tcmsoft startet der Update-Dienst nicht von selbst (erst ein Update ersetzt ihn durch die neue
Version und startet diese). Von Hand starten:
docker start tcmsoft
Notbremse für die Agenten an den Arbeitsplätzen: Mit Agent__HoechsteVersion=<Version> bzw.
PrintAgent__HoechsteVersion=<Version> in tcmsoft.env spielen die Agenten nichts Neueres ein. Danach den Container
neu anlegen wie oben beschrieben. Einzelheiten unter Updates der Agenten.
Eine fehlerhafte TCMSOFT-Version für alle Praxen zurückziehen kann nur der Hersteller. Eine Praxis, die sie schon eingespielt hat, bleibt auf ihr, bis eine korrigierte Version mit höherer Nummer kommt.
Meldungen des Update-Dienstes
In den Nachrichten (Glocke). Der Update-Dienst schreibt jede dieser Nachrichten zusätzlich in sein Protokoll
(docker logs tcmsoft-updater). Läuft TCMSOFT gerade nicht, erscheinen sie in der Glocke erst, wenn es wieder läuft.
| Nachricht | Art | Bedeutung | Was tun |
|---|---|---|---|
| „TCMSOFT … eingerichtet“ | Erfolg | Ersteinrichtung fertig: „TCMSOFT ist eingerichtet und aktualisiert sich ab jetzt jede Nacht selbst.“ | nichts |
| „TCMSOFT … neu angelegt“ | Erfolg | Container nach docker rm -f tcmsoft mit derselben Version neu angelegt |
nichts |
| „Update auf Version …“ | Erfolg | Update gelungen, mit den Neuerungen | nichts |
| „Update auf Version … verschoben“ | Warnung | Platz für die Sicherung fehlt | Platzmangel |
| „Update auf Version … unterbrochen“ | Warnung | Server oder Update-Dienst wurde mitten im Update neu gestartet, oder das Umschalten scheiterte vor dem Start der neuen Version; die alte Version läuft | nichts; nächste Nacht neuer Versuch. Wiederholt es sich, docker logs tcmsoft-updater lesen |
| „Update-Dienst nicht aktualisiert“ | Warnung | Selbst-Update gescheitert, der alte Dienst arbeitet weiter | updater/protokoll/updater-<Version>.log an den Support |
| „TCMSOFT … neu geladen“ | Warnung | Image der zuletzt gelaufenen Version fehlte, aktuelle Version ohne Sicherung geladen | prüfen, ob alles läuft; sonst Support |
| „Update nicht installiert“ | Fehler | Paket abgelehnt (nicht oder falsch signiert, falsche Architektur, unbrauchbar); „TCMSOFT läuft unverändert weiter.“ | Support informieren; die Praxis muss nichts tun |
| „Update auf Version … fehlgeschlagen“ | Fehler | Rückfall erfolgt, alte Version mit altem Datenstand läuft, Version gesperrt | updater/protokoll/tcmsoft-<Version>.log an den Support |
| „TCMSOFT startet nicht“ | Fehler | Bei der Ersteinrichtung, nach einer Neuanlage (meist tcmsoft.env) oder nach einem Laden ohne Sicherung |
docker logs tcmsoft; siehe Container neu anlegen |
| „TCMSOFT läuft nach einem Update nicht“ | Fehler | Auch die alte Version läuft nicht an | sofort Support |
| „TCMSOFT nach einem Update nicht wiederhergestellt“ | Fehler | Fehler beim Zurückkehren zur alten Version | sofort Support, nichts von Hand entfernen |
Nur auf der Backup-Seite (Warnkarte in der Karte Programmversion und Updates):
| Meldung | Bedeutung | Was tun |
|---|---|---|
| „Der Update-Dienst meldet sich nicht (zuletzt …). …“ | Der Dienst hat seinen Stand 5 Minuten nicht geschrieben | docker start tcmsoft-updater, sonst docker logs tcmsoft-updater |
| „Die Versionsprüfung bei downloads.tcmsoft.de ist fehlgeschlagen - bitte die Internetverbindung des Servers prüfen (…).“ | Kein Internet oder keine Namensauflösung am Server | Internetverbindung des Servers prüfen |
| „Version … ist auf diesem Server fehlgeschlagen und wird nicht erneut eingespielt.“ | Version ist gesperrt | Fehlgeschlagene Versionen |
| „Das Update auf … wartet, bis die laufende Datenübernahme beendet ist.“ | Sperre durch die Datenübernahme | abwarten |
| „Das Update auf … ist fehlgeschlagen: …“ | Fehler, bevor TCMSOFT beendet wurde, z. B. Download abgebrochen oder Prüfsumme falsch; TCMSOFT lief durchgehend weiter | Grund lesen; nächste Nacht neuer Versuch |
| „Für die Sicherung der Datenbank vor dem Update fehlt Speicherplatz …“ | Platzmangel | Platzmangel |
Nur im Protokoll des Update-Dienstes (docker logs tcmsoft-updater) und in updater/status.json unter
LetzterFehler, weil TCMSOFT in diesem Moment nicht läuft:
| Meldung | Bedeutung | Was tun |
|---|---|---|
| „TCMSOFT konnte nicht eingerichtet werden: …“ (im Protokoll mit dem Zusatz „- neuer Versuch in 10 Minuten.“) | Der Container tcmsoft fehlt und ließ sich nicht anlegen; neuer Versuch alle 10 Minuten |
Grund lesen, z. B. Internet; sonst Support |
Weitere Meldungen aus den Protokollen der Container erklärt Meldungen und ihre Bedeutung.
Siehe auch
- TCMSOFT einrichten
- Datenordner und tcmsoft.env
- Datensicherung und Umzug
- Updates der Agenten
- Protokolle und Diagnose
- Typische Supportfälle
- Benutzerhandbuch › Stammdaten › Backup