Tvheadend im docker aktuallisieren

mcxpert

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
36
Punkte für Reaktionen
1
Punkte
8
Hi,
habe mir das letzte "latest" Image von linuxserver geholt und wollte dieses jetzt einspielen. Leider klappt das nicht.
Habe den laufenden Container gestoppt und dann zurückgesetzt. Nach Neustart wird aber der Container nicht aktualisiert.

Jemand eine Idee?
Hatte ein Backup eingespielt. Liegt es am Zeitstempel?
Danke vorab.

1629396366809.png
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.803
Punkte für Reaktionen
3.760
Punkte
468
Meines Wissens bedeutet :latest nicht, dass bei jedem Start automatisch die neueste Version geladen wird. Aber da kennen sich andere bestimmt besser aus.
 
  • Like
Reaktionen: mcxpert

Penthys

Benutzer
Mitglied seit
04. Jun 2020
Beiträge
250
Punkte für Reaktionen
53
Punkte
34
Um sicher zu gehen, ob es am Syno-Docker liegt, am besten die Konfiguration sichern (rechte Maustaste auf Container->Einstellungen->Exportieren). Dort die Containereinstellungen im gewünschten Ziel sichern lassen. Dann den Container und das Image löschen. Wenn man ganz sicher gehen will noch per SSH ein
Bash:
sudo docker image prune
ausführen lassen. Image neu laden und in der Containeransicht über Einstellungen->Importieren die exportierte Konfiguration anwenden. Die Namen des Images müssen natürlich übereinstimmen, sonst muss man diesen noch in der exportierten Konfiguration anpassen.
 
  • Like
Reaktionen: mcxpert

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.476
Punkte für Reaktionen
1.087
Punkte
194
Wenn die Installation gleich korrekt gemacht wurde, und die Verzeichnissse persistent sind (das heißt korrekt als Volume eingebunden), muss man erst gar nicht mit solch einem Gemauschel anfangen. Denn das Dockerprinzip besagt: Update: Container wegschmeißen und neuen erstellen.

Da kommen wir auch zum Thema: Sind die Volumes denn korrekt eingebunden? Wenn nein, würde ich den Container neu erstellen. Wenn du dich auskennst, kannst du per SSH die benötigten Dateien per
Code:
docker cp
aus dem Container herauskopieren, um sie dann im persistenten Verzeichnis abzulegen.

Wenn der Container korrekt eingerichtet ist, empfehle ich für die Updates Portainer. Hier kannst du mit einem Mausklick das aktuelle Image herunterladen und recreaten (updaten)! Du kannst dir natürlich auch containrrr/watchtower anschauen. Hier sorgt der Container, dass andere Container up2date bleiben. Kann allerdings böses Erwachen geben, wenn die Container nicht persistent sind und auf einmal alles auf Null gesetzt ist.
 
  • Like
Reaktionen: mcxpert

mcxpert

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
36
Punkte für Reaktionen
1
Punkte
8
Hi,

ich werde die Antworten testen. die Volumes sind korrekt eingebunden, daher schaue ich mir portainer mal an.
@Penthys: das schaue ich mir auch an in der konfig, da könnte schon der "fehler" liegen da das image immer mit datum zurückgespielt wird.

danke bis hier her ich melde mich wenn ich weiter bin.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Vermutung: im Image wurden "nicht-Endbenutzer" ENV geändert, die von Syno's Docker UI aus den alten Container in den neuen übernommen wurden, so dass die Werte nicht zum neuen Image passen (Portainer macht es übrigens auch so) :

Teil mal die Ausgaben von:
Code:
docker image inspect linuxserver/tvheadend:2021817 --format '{{json .ContainerConfig.Env}}' | jq
und
Code:
docker image inspect linuxserver/tvheadend:latest --format '{{json .ContainerConfig.Env}}' | jq
dann kann man das vergleichen.

War beim letzten PiHole Update auch ein Problem.

Sollten irgendwo private Daten von dir sein, dann bitte den Wert jeweils aus-x-en.
 
  • Like
Reaktionen: mcxpert

mcxpert

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
36
Punkte für Reaktionen
1
Punkte
8
Hmm da kommt nur ein fehler

Code:
/volume1/docker/tvheadend$ docker image inspect linuxserver/tvheadend:2021817 --format '{{json .ContainerConfig.Env}}' | jq
jq - commandline JSON processor [version 1.5]
Usage: jq [options] <jq filter> [file...]


    jq is a tool for processing JSON inputs, applying the
    given filter to its JSON text inputs and producing the
    filter's results as JSON on standard output.
    The simplest filter is ., which is the identity filter,
    copying jq's input to its output unmodified (except for
    formatting).
    For more advanced filters see the jq(1) manpage ("man jq")
    and/or https://stedolan.github.io/jq


    Some of the options include:
     -c        compact instead of pretty-printed output;
     -n        use `null` as the single input value;
     -e        set the exit status code based on the output;
     -s        read (slurp) all inputs into an array; apply filter to it;
     -r        output raw strings, not JSON texts;
     -R        read raw strings, not JSON texts;
     -C        colorize JSON;
     -M        monochrome (don't colorize JSON);
     -S        sort keys of objects on output;
     --tab    use tabs for indentation;
     --arg a v    set variable $a to value <v>;
     --argjson a v    set variable $a to JSON value <v>;
     --slurpfile a f    set variable $a to an array of JSON texts read from <f>;
    See the manpage for more options.


/volume1/docker/tvheadend$ docker image inspect linuxserver/tvheadend:latest --format '{{json .ContainerConfig.Env}}' | jq
jq - commandline JSON processor [version 1.5]
Usage: jq [options] <jq filter> [file...]


    jq is a tool for processing JSON inputs, applying the
    given filter to its JSON text inputs and producing the
    filter's results as JSON on standard output.
    The simplest filter is ., which is the identity filter,
    copying jq's input to its output unmodified (except for
    formatting).
    For more advanced filters see the jq(1) manpage ("man jq")
    and/or https://stedolan.github.io/jq


    Some of the options include:
     -c        compact instead of pretty-printed output;
     -n        use `null` as the single input value;
     -e        set the exit status code based on the output;
     -s        read (slurp) all inputs into an array; apply filter to it;
     -r        output raw strings, not JSON texts;
     -R        read raw strings, not JSON texts;
     -C        colorize JSON;
     -M        monochrome (don't colorize JSON);
     -S        sort keys of objects on output;
     --tab    use tabs for indentation;
     --arg a v    set variable $a to value <v>;
     --argjson a v    set variable $a to JSON value <v>;
     --slurpfile a f    set variable $a to an array of JSON texts read from <f>;
    See the manpage for more options.
 

stulpinger

Benutzer
Mitglied seit
27. Mai 2009
Beiträge
734
Punkte für Reaktionen
141
Punkte
69
Hier ein Beispiel für Portainer-Update

1 docker pull portainer/portainer-ce

2 docker stop portainer

3 docker rm portainer

4 docker run -d -p 8000:8000 -p 9000:9000 --name="portainer" -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/portainer:/data portainer/portainer-ce

Installation von Portainer:

in meinem Fall unter /volume1/docker das Verzeichnis portainer erstellen,
dann Schritt 1 +4 (2 und 3 nur für Update notwendig)

Zugriff über: IPNAS:9000

Lässt sich einfach über Aufgabenplaner erstellen - Benutzerdefiniertes Script - Ausführung als root

Auf jeden Fall ist es äußerst hilfreich Portainer für Updates und Neuinstallationen zu verwenden, damit sind auch die Updates kein Problem (außer Poratiner natürlich, sonst sägt man sich den Ast ab, auf dem man sitzt) - Installation wird wunderbar auf mariushosting.com erklärt (mit Bildern etc.) und auch haufenweise Installations-Anleitungen für diverse andere Container

"Veraltete" Docker-Images lassen sich in Folge ganz einfach per Portainer entfernen, werden als unused gekennzeichnet
 
Zuletzt bearbeitet:
  • Like
Reaktionen: mcxpert

stulpinger

Benutzer
Mitglied seit
27. Mai 2009
Beiträge
734
Punkte für Reaktionen
141
Punkte
69
Habe mit watchtower bzgl. automatischer Updates insofern schlechte Erfahrungen gemacht, da es mir regelmäßig meine Nextcloud-Installation zerschossen hat
 
  • Like
Reaktionen: mcxpert

stulpinger

Benutzer
Mitglied seit
27. Mai 2009
Beiträge
734
Punkte für Reaktionen
141
Punkte
69
Installation von Portainer funkt natürlich auch über die Console ...
wichtig ist halt ein sudo su, um das Ganze als root auszuführen, damit Portainer Zugriff auf docker.sock bekommt (auch unter DSM 7.0)
 
  • Like
Reaktionen: mcxpert

stulpinger

Benutzer
Mitglied seit
27. Mai 2009
Beiträge
734
Punkte für Reaktionen
141
Punkte
69
tvheadend Update mit Portainer

Container markieren (Häckchen)
Stop
Container-Name tvheadend anklicken
Recreate
Fenster mit Are you sure erscheint
Pull latest image aktivieren
Recreate
"Habe fertig"
Altes Image (als unused gekennzeichnet) löschen
 
  • Like
Reaktionen: mcxpert

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.476
Punkte für Reaktionen
1.087
Punkte
194
Habe mit watchtower bzgl. automatischer Updates insofern schlechte Erfahrungen gemacht, da es mir regelmäßig meine Nextcloud-Installation zerschossen hat
Du kannst die Container ja auch selektiv aktualisieren bzw. vom Update ausschließen. Tatsächlich habe ich auch Probleme mit einer Statping-Installation gehabt. Allerdings fehlen mir Zeit- und Nerven, um mich damit zu beschäftigen - und so wichtig ist mir die Installation auch nicht.
 

mcxpert

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
36
Punkte für Reaktionen
1
Punkte
8
hey,
hab mit Portainer den container aktualisiert und die "Leichen" gleich entfernt.
Perfekt, ich danke euch für die Unterstützung.
 
  • Like
Reaktionen: stulpinger

stulpinger

Benutzer
Mitglied seit
27. Mai 2009
Beiträge
734
Punkte für Reaktionen
141
Punkte
69
Bitte gerne, Portainer rules ?
mariushosting aktualisiert seine Anleitungen laufend bzw. es kommen einige hinzu, immer einen Blick wert
 
  • Like
Reaktionen: mcxpert

mcxpert

Benutzer
Mitglied seit
19. Nov 2014
Beiträge
36
Punkte für Reaktionen
1
Punkte
8
Hi,
hab nochmal eine Frage zu Portainer.
Bekomme ich es angezeigt wenn es einen aktuelleren Container gibt als derzeit installiert?

In der Übersicht sehe ich
1629629983085.png

und wenn ich dann auf GitHub schaue passt es auch

1629629954767.png

nur muss ich das manuell prüfen?

Gruß
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Ich denke nicht das Portainer einen auto-updater bietet. Das Label "build_version" ist von Linuxserver.io freundlicherweise ans Image angebracht. Es ist halt angenehmer, als anhand der Image Id zu erkennen, dass dein lokale latest image, eben nicht dasselbe latest image wie auf Dockerhub ist.
 

Freakk

Benutzer
Mitglied seit
29. Jun 2018
Beiträge
50
Punkte für Reaktionen
6
Punkte
8
Hi zusammen,

ich nutze tvheadend schon seit Jahren im Docker zusammen mit einer Telestar Digibit Twin. Das Update von tvheadend habe ich immer per Watchtower machen lassen. Hat immer einwandfrei funktioniert.

Doch seit 3-4Monaten hab ich das Problem, dass tvheadend nach einem Update per Watchtower den Tuner nicht mehr findet. Also unter DVB-Inputs/TV-Adapter fehlt die Digibit Twin dann gänzlich. Muss dann immer den Container stoppen, die Karte kurz vorm Strom nehmen, Container wieder starten und dann gehts wieder.

Zufällig jemand eine Idee, woran das liegen kann? Hat jahrelang einwandfrei funktioniert.
Ist halt super nervig, wenn ich mal nicht zu Hause bin und die Chefin nicht TV schauen kann, dann is Polen offen...
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat