Zugriff auf Unterordner im Docker-Volume?

  • Ich muss auf eine Datei in einem Docker-Volume zugreifen, um Daten zu ergänzen, konkret geht es um eine .json-Datei.
    Aber wie komme ich da hin?

    Die Datei liegt entsprechend in einem Unterordner, aber über Portainer und das Ugreen-UI komme ich da ja gar nicht erst hin. Womit krieg ich die Datei am sinnvollsten geöffnet?

  • docker exec -it <container> /bin/sh

    damit evtl?

    Ist halt nur eine Shell, da wo du - sofern du dich mit vim auskennst - mit

    vi <dateiname>

    die Datei bearbeiten kannst. Je nach Container ist vielleicht auch nano oder mc installiert, das ist etwas nutzerfreundlicher.

    [ DXP4800+ | 2x Samsung 980 Pro 2TB | 4x Seagate IronWolf 24TB | UGOS ]

  • Im freigegebenen Ordner "docker" und dort unter dem jeweiligen Containernamen hast Du dort schon einmal nachgeschaut?

    Meine Hardware

    iDX6011 Pro in Späh ^^

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Cruc. CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • Wurde der Container mit Portainer oder der UGREEN Docker App erstellt?

    Meine Hardware

    iDX6011 Pro in Späh ^^

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Cruc. CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • Ich hab grad im anderen Forum gesehen, dass die mit WinSCP auf die Unterordner zugreifen, die nutzen aber auch kein NAS sondern Proxmox oder anderweitige Server. Geht das simultan hier auch und kann ich auch FileZilla nehmen? Den hätt ich nämlich schon.

  • Mit Portainer, aber auch in dem Ordner finde ich ihn nirgends.

    Poste doch bitte mal die verwendete .yml Datei (Compose), denk daran dinge die niemand wissen muß schwärzen.

    In Portainer findet man solche Dinge auch nicht. Mal sehen was da in der .yaml so drinn steht

    Meine Hardware

    iDX6011 Pro in Späh ^^

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Cruc. CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • Hier die verwendete Compose, abgesehen entsprechend von meinen Ports:

    teddycloud/docker/docker-compose.yaml at master · toniebox-reverse-engineering/teddycloud
    teddyCloud is an open source server replacement for the Boxine Cloud - toniebox-reverse-engineering/teddycloud
    github.com

    Den eigentlichen Container, den er sich daraus baut, gibts hier zu sehen:

    GitHub - toniebox-reverse-engineering/teddycloud: teddyCloud is an open source server replacement for the Boxine Cloud
    teddyCloud is an open source server replacement for the Boxine Cloud - toniebox-reverse-engineering/teddycloud
    github.com

    Mir gehts um die tonies.custom.json, die sollte standardmäßig im Ordner var/lib/docker/volumes/teddycloud_config/_data liegen.

  • Mir gehts um die tonies.custom.json, die sollte standardmäßig im Ordner var/lib/docker/volumes/teddycloud_config/_data liegen.

    Ohne SSH kommst Du da nicht dran!

    Auf der Konsole in das Verzeichnis wechseln und dann dort mit dem Editor die xxx. json bearbeiten.

    ich mache das meistens mit dem Midnight Commander.

    Aber den zu installieren ist auch nur auf der Komandozeile möglich.

    Auf der Komandozeile Update durchführen sudo apt-get update

    als nächstes sudo apt install mc

    mit mc Midnight Commander starten und vorsichtig in die Bedienung reinfinden.

    Meine Hardware

    iDX6011 Pro in Späh ^^

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Cruc. CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

    Edited once, last by eineb (June 22, 2025 at 10:06 PM).

  • Naja, wenn du nur normal per SSH aufs NAS verbindest, landest du ja im UGOS System, nicht im Docker Container.

    Wenn du nicht auf Konsolen-Ebene arbeiten willst, wäre eine Alternative, Dateien aus dem Docker herauszukopieren, zu bearbeiten und dann wieder zurückzukopieren.

    Hab ich so noch nicht gemacht, aber kannst du ja mal probieren und berichten ob es klappt :) also in deinem konkreten Fall z.B. so:

    Temp. Verzeichnis erstellen, falls es noch nicht existiert
    mkdir -p /volume1/temp

    Datei kopieren
    docker cp teddycloud:/var/lib/docker/volumes/teddycloud_config/_data/tonies.custom.json /volume1/temp/tonies.custom.json

    Nun Datei im Windows Explorer unter //<UGREEN-IP>/temp bearbeiten und dann wieder zurück kopieren
    docker cp /volume1/temp/tonies.custom.json teddycloud:/var/lib/docker/volumes/teddycloud_config/_data/tonies.custom.json

    [ DXP4800+ | 2x Samsung 980 Pro 2TB | 4x Seagate IronWolf 24TB | UGOS ]

  • Naja, wenn du nur normal per SSH aufs NAS verbindest, landest du ja im UGOS System, nicht im Docker Container.

    Aber müsste ich mich da dann nicht entsprechend durchklicken können? So denkt sich das zumindest jetzt mein dahingehend laienhaftes Hirn...

    Edit: Okay, verstehe - hier seh ich auch nur das, was ich schon im UI angezeigt bekomme.

    Das ist die Anleitung im anderen Forum, aber eben für Proxmox. Die Teddycloud-ID führt entsprechend aktuell auch aufs Ugreen-UI.

    Quote

    Setting access rights via Proxmox VM console, not via Portainer Stack console!

    • Create separate user via the VM console in Proxmox, set password
    • Add user to the docker group
    • grant user read, write and execute rights for the teddycloud_config/data folder and the files
    • grant user at least read rights for the docker and volumes folder

    Connecting via WinSCP

    • Access via WinSCP with SFTP (SSH) with the teddycloud IP and Port 22 (Standard SSH)
    • Username = your separate user from above + password

    Edited once, last by schattenhexe (June 22, 2025 at 1:14 AM).

  • Der Container ist ja an sich ein abgeschlossenes System, quasi ein Linux im UGOS-Linux. Man definiert anfangs ein paar persistente Volumes für Config-Dateien etc, die dann auf dem UGOS-System sichtbar sind. Aber du sagtest, dass dein //UGREEN/docker/ Verzeichnis keinen Unterordner "teddycloud" hat wo die json drin liegt? Dann stimmt da evtl. was am Setup nicht?

    Eine Config und Daten will man ja eigentlich persistent haben und legt diese dann auf ein Volume außerhalb vom Docker Container auf dem Host-System (UGOS) an, z.B. so:

    Code
    volumes:
      - /volume1/docker/teddycloud/config:/config
      - /volume1/docker/teddycloud/data:/data

    Dann könntest du dich auch entsprechend z.B. mit midnight commander durchklicken wie eineb oben schrieb oder eben mit Windows Explorer und deinen bekannten Windows Editoren.

    [ DXP4800+ | 2x Samsung 980 Pro 2TB | 4x Seagate IronWolf 24TB | UGOS ]

  • Dann stimmt da evtl. was am Setup nicht?

    Das ist gut möglich, allerdings kann ich das entsprechend nicht nachvollziehen bzw. beantworten, da ich schlicht nicht genug Ahnung davon habe. Das kommt davon, wenn man etwas umsetzt, von dem man keinen Schimmer hat :S

    Aufgesetzt habe ich die Teddycloud über Portainer mit der oben geposteten Compose. Ob das somit so angedacht ist, wie du beschreibst (und für mich auch absolut Sinn ergibt), weiß ich entsprechend nicht.

  • Das hier verstehe ich nicht aus deinem compose file:

    Code
    volumes:
      - certs:/teddycloud/certs #certificates of the server
      - config:/teddycloud/config #config file for the server and the boxes
      - content:/teddycloud/data/content #microSD representation for the boxes
      - library:/teddycloud/data/library #library to manage content
      - custom_img:/teddycloud/data/www/custom_img #location to store custom images for custom tonies json
      - firmware:/teddycloud/data/firmware #firmware backups
      - cache:/teddycloud/data/cache #img cache for content images

    Eigentlich stehen links vom Doppelpunkt ja die UGOS-Ordner, die zu den Ordnern rechts vom Doppelpunkt gemapped werden. Alles was der Container in seine /teddycloud/xxx Ordner reinschreibt, sieht man dann auch entsprechend jeweils im Ordner, der links vom Doppelpunkt steht.

    Dein teddycloud Container schreibt seine Dateien so aber in irgendein Ordner der pfadlos einfach nur "config" heißt. Sowas hasst Linux :) es braucht absolute Pfade an der Stelle.

    Also statt diesem Volume in deinem compose

    Code
    volumes:
      - config:/teddycloud/config

    sollte es denke ich z.B.

    Code
    volumes:
      - /volume1/docker/teddycloud/config:/teddycloud/config

    heißen. Links vom Doppelpunkt ist der Ordner im UGOS, rechts der Ordner wo der Container seine Config Files hinschreibt.

    Die anderen entsprechend auch anpassen. Damit sollte auf das Config File dann auch ganz normal zugegriffen werden können unter /volume1/docker/teddycloud/config

    Backuppe aber evtl. erst bevor du die Änderung testest.

    Evtl. musst du die ganzen Ordner unter /volume1/docker/teddycloud/xyz alle vorher selbst anlegen.

    [ DXP4800+ | 2x Samsung 980 Pro 2TB | 4x Seagate IronWolf 24TB | UGOS ]

  • Ja, das was Mavvy angesprochen hat war auch mein Problem, die Compose Datei hat leider keine Vernünftigen mappings nach außerhalb beinhaltet , von daher kam ich erst nachdem Du den Pfad var/lib.... gepostet hast drauf, daß man evtl. auf dem Weg mit dem MC ran kommt.

    Meine Hardware

    iDX6011 Pro in Späh ^^

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Cruc. CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • Verstehe. Ich setz das die Tage mal auf die Agenda. Wobei ich mich vorher erst noch mit dem Backup beschäftigen muss, das hab ich bisher auch aufgeschoben... *seufz* Und danach frag ich dann blöd nach, wie genau ich das oben genannte umsetze :D

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!