Docker-compose mit OMV4

  • OMV4

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Docker-compose mit OMV4

    Jetzt wollte ich mich doch noch mal auf den docker_compose stürzen und schon funktioniert es nicht.
    Muss ich hier in OMV 4 noch was nach installieren ?

    Ich habe mir wie unter home/dockervolumes/sabnzbd eine docker-compose.yml mit folgendem Inhalt erstellt.

    version: "2"
    services:
    sabnzbd:
    image: linuxserver/sabnzbd
    container_name: sabnzbd_VPN
    network_mode: container:VPN
    environment:
    - PUID=1003
    - PGID=100
    - TZ=Europe/Berlin
    volumes:
    - sharedfolders/SABNZB_Download:/config
    - sharedfolders/SABNZB_Download/complete:/downloads
    - sharedfolders/SABNZB_Download/incomplete:/incomplete-downloads
    - sharedfolders/Filme/filme:/Filme
    - sharedfolders/Filme/movie:/Serien
    ports:
    - 8080:8080
    restart: unless-stopped


    Ich gehe in Putty in das Verzeichnis und starte docker-compose up -d
    Ergebnis:
    root@NAS:/home/dockervolumes/sabnzbd# docker-compose up -d
    -bash: docker-compose: Kommando nicht gefunden

    Was mach ich hier falsch?
  • Ich konnte eigentlich gar keinen Befehl mit Docker-Compose ausführen. Ich hab jetzt mir apt install Docker-Compose nachinstalliert. Hat er scheinbar auch gemacht.
    Mit docker-compose --version bekomme ich jetzt "docker-compose version 1.8.0, build unknown"
    Wenn ich jetzt versuche das oben genannte .yml zu starten kommt

    ERROR: yaml.scanner.ScannerError: mapping values are not allowed here
    in "./docker-compose.yml", line 7, column 20
    Ich verstehe das ganze nicht mehr. Was läuft hier falsch.
  • Ich konnte das Problem mit Hilfe von Google lösen. Ich hab zuerst wieder den Docker-Composer deinstalliert und danach mit Curl eine aktuelle Version installiert. Nachdem ich alle Fehler in meiner Yaml Datei gefunden habe läuft alles
    Hier nochmal der richtige Aufruf


    Quellcode

    1. version: "2"
    2. services:
    3. sabnzbd:
    4. image: linuxserver/sabnzbd
    5. container_name: sabnzbd_VPN
    6. network_mode: container:VPN
    7. environment:
    8. - PUID=1003
    9. - PGID=100
    10. - TZ=Europe/Berlin
    11. volumes:
    12. - /sharedfolders/SABNZB_Download:/config
    13. - /sharedfolders/SABNZB_Download/complete:/downloads
    14. - /sharedfolders/SABNZB_Download/incomplete:/incomplete-downloads
    15. - /sharedfolders/Filme/filme:/Filme
    16. - /sharedfolders/Filme/movie:/Serien
    17. restart: unless-stopped
    Alles anzeigen
    Das die Teile mit dem Doppelpunkt keine Einrückungen nur der Übersichtlichkeit halber sind hab ich erst verstanden als ich einen Yaml Validator benutzt habe.
    Also keine Tabs nur Leerzeichen und schön alle Sektionen untereinander. Schon ein wenig Tricki das ganze.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Visnah ()

  • Hab, s leider eben erst gelesen. Schön, dass es jetzt funktioniert. Das Docker-Compose Thema wird die nächsten Wochen auf uns einschlagen. Immer mehr Leute wollen es nutzen. Wahrscheinlich auch, weil immer mehr indirekte Werbung betrieben wird. Ich bin da auch schon seit paar Wochen dran und habe meine aktiven Systeme daraufhin auch schon komplett umgestellt. Und unser @Sc0rp befasst sich auch schon länger intensiv damit. Es nimmt halt mächtig viel Zeit in Anspruch, vor allem, wenn man noch ein Familienleben hat. Ich beschränke meine Aktivitäten deshalb hauptsächlich auf den nächtlichen Stunden.
    Auf OMV5 gibt es da übrigens von Haus aus weniger Probleme, weil da alle Zusätze für Compose schon automatisch bei der Installation des OMV5-Dockers mitgeliefert werden.

    LG Berti
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog
  • @Berti Ich habe gestern noch Calibre-WEB bei mir umgestellt. Lief auch auf Anhieb. Erzeugt der bei dir auch ein eigenes Netz? Ich habe die gleichen Einstellungen wie du auf deiner Internet-Seite und auch auf linuxserver/calibre-web ist ja identisch.
    Jetzt hab ich heute gesehen das der mir ein Netz calibreweb_default erstellt hat.
    Ich würde jetzt versuchen das mit network_mode: Bridge zu umgehen. Momentan läuft es ja.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Visnah ()

  • So jetzt funktioniert es im CLI (schreibt mal wohl so wenn man ein Terminal meint).

    Der Parameter den ich angegeben habe ist
    network_mode: "bridge"

    Damit sind alle Container im Standard Netz wenn man das so haben will.
    Wenn ich das ganze aber als Stack im Portainer mache ist das Portainer egal. Es kommt dann immer ein Netz dazu.
  • @Berti ich hab mir auf deiner Seite das Update-Script für die Docker angeschaut. Ich hab da mal ein Verständnisfrage .
    Mit sudo docker stop $(sudo docker ps -a -q) beendest du alle docker container
    mit sudo docker rm $(sudo docker ps -a -q) entfernst du sie dann.
    docker-compose up -d im jeweiligen Unterverzeichnis wo die docker-compose.yml liegt startet den Conainer dann wieder.

    Wird beim UP Befehl auch gleichzeitig nachgeschaut ob es ein neues Image gibt ? Kann ich irgendwie in der Doku zu Docker-compose nicht finden.
    Ich hätte sonst zuerst einen docker-compose pull gemacht ?
    Ich wollte das Script so anpassen das es in jedes Unterverzeichnis springt und mit docker-compose down den Container zu beenden,
    danach halt entweder gleich wieder docker-compose up -d wenn damit das Update auch gleich läuft sonst evtl. ein docker-compose pull vorher.

    Damit kann ich meines erachten den Ablauf besser steuern.
    Spricht da aus deiner Sicht was dagegen ?
  • Hi. Die Befehle stop und remove hab`ich nur für die Leute reingesetzt, die schon vorher Docker am Laufen haben. Wird nach dem Compose-Gedöns eigentlich nicht mehr benötigt.
    Der "docker-compose up -d" checkt auch, ob neue Docker vorhanden sind und installiert/updated diese. Habe auch paar Tage gebraucht um das herauszufinden. Eigentlich erst gemerkt, als da ein Dockeupdate eines Docker vorhanden war und dieses automatisch installiert wurde. Es steht aber auch bei einigen Docker auf Dockerhub so beschrieben. Ich schätze, du kannst dir den Mehraufwand sparen. Ob Docker im nachhinein aktualisiert wurden, siehst du paar Tage später im Portainer, wenn du nicht grad`im Terminal das checken willst.
    Das Script, was bei "Docker-Compose" - "Alles Zusammengefasst" zu sehen ist, war eigentlich nur so ein Anfangs-Versuch von mir, um nicht die ganzen Docker einzeln checken zu lassen. Da bekommste ja in Knall^^. Das dieses auf Anhieb funktionierte, war Zufall :)


    LG Berti

    PS: Das mit Calibre-Web wäre mir, glaube ich, aufgefallen. Ich kann aber erst morgen nachsehen, ob das bei mir auch der Fall ist. Ich glaube aber fast nicht.
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Berti ()

  • Hab nachschauen können. Komme ja mit VPN bei mir rein. Also Nein. Bei mir wird kein extra Netz erstellt. Hängt unter Umständen mit OMV4 zusammen. Ich habe schon `ne Weile OMV5 am Laufen. Vielleicht stelle ich die Tage mal schnell ein OMV4 auf VM zusammen, um das zu Checken. Kann da leider grad nicht weiterhelfen, da noch etwas unterwegs.

    LG Berti
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog
  • Ja muss wohl mit OMV4 zu tun haben. Wenn ich nicht in jeder docker-compose.yml network_mode: "bridge" einfüge hab ich für jeden Container ein eigenes Netz.
    Ist soweit ja nicht tragisch aber muss nicht sein. Ich habe jetzt alle meine Docker auf Compose umgestellt und auch das mit dem Script hinbekommen. So laufen auch die Updates super durch. Watchtower ist schon in Rente geschickt.
    Ich hab im Script alles mir docker-compose down und dann wieder docker-compose up -d gemacht. Funktioniert so auch sehr gut.
  • Ja. Das Down benötigst nicht, aber kannst machen. Jedenfalls funktioniert auch ohne. Das läuft automatisch ab, sobald der up kommt.

    Der Nachteil an deinen Script liegt auf der Hand. Ist dein Docker grad in Verwendung, wird er trotzdem gestoppt. Als Beispiel nenne ich Emby. Du schaust grad nen Film und dein Script wird automatisch gestartet. Durch die Zwangseingabe mit down, ist es dann vorbei mit Film schauen.

    LG Berti
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog
  • Wer lesen kann ist halt doch klar im Vorteil. Ich hatte deinen Kommentar zu Docker-compose up nicht richtig gelesen. Heist also wenn ich einen Docker-compose -up auf einen schon laufenden Container loslasse macht er alles selber sprich Update und neustart des Containers? Na dann ist der down Befehl natürlich Quatsch. Was aber nicht erklärt warum mir dann beim Update mein Plex nicht wegfliegen soll. Ist aber an sich auch nicht so wichtig da ich das Update in der früh um 5 Uhr ablaufen lassen will.
  • Dein Plex wird nach dem Update des Dockerimages erst geupdated, wenn es im Leerlauf ist, sprich grad nicht verwendet wird. So habe ich das jedenfalls verstanden und auch noch nichts gegenteiliges bemerken können. Seit ich Compose benutze, mit "nur" dem up-Befehl, habe ich schon 7 Updates bekommen und quasi nichts bemerkt, außer die Email-Ausgabe, die täglich kommt. Im Portainer sieht man das, wenn man die Images betrachtet. Extra, um das zu beobachten, habe ich momentan diesen "Selbstreinigungsbefehl" ...

    Quellcode

    1. docker images -q --filter "dangling=true" | xargs -n1 -r docker rmi

    ...der "alten" Dockerimages, in den geplanten Aufgaben, momentan noch nicht laufen.




    LG Berti
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Berti ()

  • Hi. @Visnah

    Mir ist ein Fehler unterlaufen im Beitrag 6, 9, 10 und 14. Die Compose-Docker updated man für das Beispiel am mariadb mit

    Quellcode

    1. docker pull linuxserver/mariadb
    Natürlich im jeweiligen *.yml-Verzeichnis. Ich habe mein Script diesbezüglich angepasst.

    Und ja - es werden bei Compose die Netze erstellt. Ist aber alles richtig so.

    Hatte in letzter Zeit viele Sachen parallel am Laufen und hab`s jetzt erst bemerkt.

    LG Berti
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog
  • Meinst die 2 Befehle tauschen?
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog
  • @Visnah

    Konnte ich mir denken. Ich sitz da grad noch dran. Das war der Grund, warum er manche Docker erst beim 2. Aufruf aktualisierte. Kann ich auch mal wieder Danke sagen :)

    LG Berti
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Berti ()

  • Hier mal mein Script

    Shell-Script

    1. #!/bin/bash
    2. # Ablageverzeichnis: /home/dockercomposescript
    3. #
    4. # Variablendefinition
    5. Start="docker-compose up -d"
    6. Pull="docker-compose pull"
    7. #
    8. #Pfad wo die Unterverzeinise mit den docker_compose.yml liegen am Ende kein /
    9. Docker_comp_Pfad="/sharedfolders/Docker_Config/Docker_comp"
    10. #
    11. #Ordnernamen die im Unterverzeichnis liegen "exakte Schreibweise"
    12. Docker_Container1="Heimdall"
    13. Docker_Container2="CalibreWeb"
    14. Docker_Container3="Portainer"
    15. Docker_Container4="Plex"
    16. Docker_Container5="Transmission"
    17. Docker_Container6="Sabnzb"
    18. Docker_Container7="Letsencrypt"
    19. Docker_Container8="Mariadb"
    20. Docker_Container9="Nextcloud"
    21. Docker_Container10="Pihole"
    22. #
    23. # Beginn der einzelnen Docker-Updates
    24. cd $Docker_comp_Pfad/$Docker_Container1
    25. $Pull
    26. $Start
    27. cd $Docker_comp_Pfad/$Docker_Container2
    28. $Pull
    29. $Start
    30. cd $Docker_comp_Pfad/$Docker_Container3
    31. $Pull
    32. $Start
    33. cd $Docker_comp_Pfad/$Docker_Container4
    34. $Pull
    35. $Start
    36. cd $Docker_comp_Pfad/$Docker_Container5
    37. $Pull
    38. $Start
    39. cd $Docker_comp_Pfad/$Docker_Container6
    40. $Pull
    41. $Start
    42. cd $Docker_comp_Pfad/$Docker_Container7
    43. $Pull
    44. $Start
    45. cd $Docker_comp_Pfad/$Docker_Container8
    46. $Pull
    47. $Start
    48. cd $Docker_comp_Pfad/$Docker_Container9
    49. $Pull
    50. $Start
    51. cd $Docker_comp_Pfad/$Docker_Container10
    52. $Pull
    53. $Start
    54. #
    55. Ausgabe="Script abgearbeitet!"
    56. echo "$Ausgabe"
    Alles anzeigen
  • Genau. So ähnlich habe ich das jetzt auch drin. War echt nur die Reihenfolge von "up" und "pull".

    LG Berti

    PS: Ich habe einen kleinen Fehler entdeckt. Statt Plex sollte dort Emby stehen :)
    BS: UNRAID
    HW: MSI B350M MORTAR, Athlon 200GE, 32Gb Ram, 500 GB NVMe als Cache, 2x 8TB HDD, 1x 4TB HDD
    Docker: adguard, duckdns, emby, nginx, nextcloud, owncloud, wordpress, calibre, calibre-web, 2x heimdall, glances, bitwardenrs, mariadb, phpmyadmin, portainer
    Apps: Auto Update, db backup, SSD Trim, WireGuard, Unassigned Devices
    VM: OMV5, Macinabox, Proxmox, MX, 3x Debian Server, 1x Ubuntu Server
    Website Übersicht: https://knilixblog.wordpress.com
    Website OMV5: https://knilix.home.blog