Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. VisualStudio Code und Devcontainer

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    VisualStudio Code und Devcontainer

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlCalzone
      AlCalzone Developer @UncleSam last edited by

      @UncleSam sagte in VisualStudio Code und Devcontainer:

      Wieso denn das? Wieso funktioniert ein Link /workspace nach /opt/iobroker nicht?

      Weil dann die Suche nach dem Adapter-mainfile im JS-Controller nicht funktioniert, da den Links nicht gefolgt wird. Innerhalb des ioBroker-Verzeichnisses geht es aber (empirisch herausgefunden).

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @AlCalzone last edited by

        @AlCalzone @UncleSam
        Falls Interesse an der launch.json besteht, wie man den iobroker an sich debuggen kann:

        Folgendes ist zu beachten, ausgehend von der oben genannten devcontainer Konfiguration:

        1. Das Startverzeichnis muss für vs code geändert werden, in dem man unter
          Menü File -> Open Folder dann /opt/iobroker auswählt
        2. Bei ersten mal kann mann dann über den Befehl
          Menü Run -> Add Configuration (falls noch keine launch.json für diesens Startverzeichnis besteht, alternativ Open Confiuration) eine Konfiguration anlegen und den unten angegebenen Inhalt einkopieren
        3. Für ein entsprechenden Befehl (bspw start, oder wie hier "host set x" muss in args jedes einzelne Argument separat als Arrayelement aufgezählt werde.
        4. Danach können Breakpoints gesetzt werden und mit F5 das Debugging gestartet werden.
        {
            // Use IntelliSense to learn about possible attributes.
            // Hover to view descriptions of existing attributes.
            // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
            "version": "0.2.0",
            "configurations": [
                {
                    "type": "node",
                    "request": "launch",
                    "name": "Launch Program",
                    "skipFiles": [
                        "<node_internals>/**"
                    ],
                    "args": ["host","set","x","--debug", "0"],    
                    //"stopOnEntry": true,        
                    "program": "/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js"
                }
            ]
        }
        
        OliverIO 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @OliverIO last edited by OliverIO

          ich kam ein wenig weiter mit meinem Problem.
          leider funktioniert es auch nicht die Befehle aus der postCreateCommand auf der shell nochmal einzugeben, da objects.json in einem inkonsistenten Zustand vorliegt.
          Im Rahmen der Containererzeugung von buanet muss ja der Hostname nochmal neu gesetzt werden, da iobroker den temporären Hostnamen des Containers nimmt.
          Im Rahmen dieses umbenennens gibt es wohl einen Fehler, so das zwar alle Objekte umbenannt werden, aber nicht die Instanzen.
          Als Workaround konnte ich das beheben, in dem ich alles nochmal auf den temporären Hostnamen umbenenne (Name muss aus objects.json ausgelesen werden oder aus dem docker-log), im Anschluss kann dann der eigentliche Name nochmal gesetzt werden (Befehl iob host set <name>)
          Der Fehler tritt aber nur auf, wenn in postCreateCommand etwas drin steht. Welcher Fehler da auftritt, lässt sich aus den Logs aktuell leider nicht auslesen.

          UncleSam 1 Reply Last reply Reply Quote 0
          • UncleSam
            UncleSam Developer @OliverIO last edited by

            @OliverIO Das ist schon mal ein guter erster Schritt! Ich denke, wir müssen Bug möglichst schnell finden und wenn möglich noch im nächsten Release des js-contoller fixen. Immer mehr Leute setzen auf Docker, das sollte sauber laufen.

            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer last edited by

              @OliverIO @UncleSam
              Ich finde das mit den Instanznamen äußerst komisch und kann mir derzeit nicht erklären, an welcher Stelle es schief läuft.
              Wenn ich direkt unter Windows arbeite und VSCode den Docker-Container erstellen lasse, passt alles. Können wir das eingrenzen, ob es ggf. nur mit Docker auf Linux auftritt?

              UncleSam OliverIO 2 Replies Last reply Reply Quote 0
              • UncleSam
                UncleSam Developer @AlCalzone last edited by

                @AlCalzone Mit @Asgothian zusammen habe ich gestern herausgefunden, dass es auf einem Mac mit "cached" Probleme gibt. Möglicherweise ist das hier dasselbe Problem. Dateien, die im ioBroker Verzeichnis lagen, waren plötzlich korrupt, was zu ganz komischen Fehlern führte.

                @OliverIO, kannst du mal versuchen, im docker-compose.yml das :cached zu löschen?

                OliverIO 1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @UncleSam last edited by

                  @UncleSam
                  cached habe ich gelöscht, dann volume image und container für luxtronik gelöscht und container neu erzeugt.
                  Ich habe keine Veränderung zu den vorherigen Versuchen entdecken können.
                  Mit postCreateCommand kein Start, ohne startet iobroker.
                  Die korrupten Dateien sind in welchem Verzeichnis entstanden? Soll ich da nochmal speziell schauen?

                  UncleSam 1 Reply Last reply Reply Quote 0
                  • UncleSam
                    UncleSam Developer @OliverIO last edited by

                    @OliverIO sagte in VisualStudio Code und Devcontainer:

                    Die korrupten Dateien sind in welchem Verzeichnis entstanden? Soll ich da nochmal speziell schauen?

                    Das ganze /opt/iobroker wird ja gemountet, also irgendwas dort drin (wäre ja auch bei dir so). Es war ein installiertes Node Module.

                    OliverIO 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @UncleSam last edited by

                      @UncleSam
                      dann ist im Windows-Fall nichts korrupt. Ohne postCreateCommand läuft alles super.
                      Mit postCreateCommand erst nachdem man die hosts wie beschrieben wieder umbenannt hat.
                      Mir dünkt, das die Befehle in postCreateCommand gar nicht ausgeführt wird. Muss aber nochmal genauer schauen.

                      1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @AlCalzone last edited by OliverIO

                        @AlCalzone @UncleSam
                        Hi,

                        ich hab hier noch ein wenig rum experimentiert und konnte es ein wenig eingrenzen.
                        Problem 1) sobald der Befehl "iob plugin disable sentry" enthalten ist, erscheint im Log von vs code bei der Erstellung des Containers immer ein postCreateCommand failed

                        [2020-11-20T12:38:42.946Z] [PID 11220] [8148 ms] Start: Run: docker exec -i -u root -e SSH_AUTH_SOCK=/tmp/vscode-ssh-auth-94fa740e69f0e0f5f0af463318e0645c8f73d97c.sock -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-94fa740e69f0e0f5f0af463318e0645c8f73d97c.sock -e REMOTE_CONTAINERS=true -w /workspace 52441b62fc5a811d95518668a85e15327e3c1ee79f3763a685d25d0fd6351011 /bin/sh -c iob del discovery && iob plugin disable sentry && iob object set system.config common.licenseConfirmed=true && NPM_PACK=$(npm pack) && iob url "$(pwd)/$NPM_PACK" --debug && rm "$NPM_PACK"
                        [2020-11-20T12:38:45.560Z] [PID 11220] [10762 ms] Delete adapter "discovery"
                        [2020-11-20T12:38:45.563Z] [PID 11220] [10765 ms] npm uninstall iobroker.discovery --error --prefix "/opt/iobroker" (System call)
                        [2020-11-20T12:38:48.790Z] [PID 11220] [13992 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
                        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                        [2020-11-20T12:38:48.797Z] [PID 11220] [13999 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor):
                        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                        [2020-11-20T12:38:48.797Z] [PID 11220] [13999 ms] 
                        [2020-11-20T12:38:53.360Z] [PID 11220] [18562 ms] postCreateCommand "iob del discovery && iob plugin disable sentry && iob object set system.config common.licenseConfirmed=true && NPM_PACK=$(npm pack) && iob url \"$(pwd)/$NPM_PACK\" --debug && rm \"$NPM_PACK\"" failed.
                        
                        

                        lass ich es weg, dann läuft zumindes die postCreateCommand komplett durch

                        [8093 ms] Start: Run: docker exec -i -u root -e SSH_AUTH_SOCK=/tmp/vscode-ssh-auth-f5e8539333a46dc4ea70ee13c568241fac389e86.sock -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-f5e8539333a46dc4ea70ee13c568241fac389e86.sock -e REMOTE_CONTAINERS=true -w /workspace fc7f0285e005382bea59f9366038fa839488249323ee8d8291a1e95f49d3125b /bin/sh -c iob del discovery && iob object set system.config common.licenseConfirmed=true && NPM_PACK=$(npm pack) && iob url "$(pwd)/$NPM_PACK" --debug && rm "$NPM_PACK"
                        [10698 ms] Delete adapter "discovery"
                        [10702 ms] npm uninstall iobroker.discovery --error --prefix "/opt/iobroker" (System call)
                        [14117 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
                        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                        [14125 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor):
                        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                        [14126 ms] 
                        [17551 ms] The object "system.config" was updated successfully.
                        [21506 ms] install /workspace/iobroker.luxtronik2-0.0.2.tgz
                        [21644 ms] NPM version: 6.14.8
                        [21645 ms] npm install /workspace/iobroker.luxtronik2-0.0.2.tgz --loglevel error --prefix "/opt/iobroker" (System call)
                        [24519 ms] + iobroker.luxtronik2@0.0.2
                        added 7 packages from 80 contributors in 2.529s
                        [24659 ms] 
                        15 packages are looking for funding
                          run `npm fund` for details
                        
                        [24694 ms] upload [4] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/words.js words.js application/javascript
                        [24750 ms] upload [3] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/style.css style.css text/css
                        [24804 ms] upload [2] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/luxtronik2.png luxtronik2.png image/png
                        [24859 ms] upload [1] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/index_m.html index_m.html text/html
                        [24912 ms] upload [0] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/admin.d.ts admin.d.ts video/mp2t
                        

                        Aber in beiden Fällen läuft iobroker zwar auf dem Server, aber admin wird nicht gestartet, daher kein Browserzugriff

                        Problem 2: (denke ich)
                        Wenn man in beiden Logs den Befehl docker exec anschaut, dann bemerkt man, das zur Ausführung ein temporärer Container gewählt wird und nicht der schon umbenannte.
                        Das würde zumindest das erklären, warum es keine Probleme gibt, wenn kein postCreateCommand angegeben wurde.

                        UncleSam AlCalzone 2 Replies Last reply Reply Quote 0
                        • UncleSam
                          UncleSam Developer @OliverIO last edited by

                          @OliverIO sagte in VisualStudio Code und Devcontainer:

                          das zur Ausführung ein temporärer Container gewählt wird

                          Woher siehst du das? Kannst du mal in der Liste der Befehle noch hostname && hinzufügen? So gibt er den Hostnamen des aktuell laufenden Containers aus.

                          OliverIO 1 Reply Last reply Reply Quote 0
                          • AlCalzone
                            AlCalzone Developer @OliverIO last edited by

                            @OliverIO sagte in VisualStudio Code und Devcontainer:

                            Wenn man in beiden Logs den Befehl docker exec anschaut, dann bemerkt man, das zur Ausführung ein temporärer Container gewählt wird

                            Das wäre dann aber ein Problem in der VSCode Implementation 🤔
                            Das postCreateCommand ist nämlich bewusst so gewählt, dass man nicht beim lokalen Testen das ioBroker-Sentry mit unnötigen Fehlermeldungen zubombt.

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @UncleSam last edited by OliverIO

                              @UncleSam
                              ok, ne, hostname gibt den korrekten hostname aus.
                              Problem muss beim umbenennen des hostnamens liegen.
                              Was mich wundert ist halt die Rückkopplung von postCreateCommand dazu.
                              An der Stelle ist der Container doch schon fertig gebaut und der hostname umbenannt.
                              Aber mit postCreateCommand klappts nicht
                              ohne funktioniert es einwandfrei.

                              1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @AlCalzone last edited by

                                @AlCalzone said in VisualStudio Code und Devcontainer:

                                Das wäre dann aber ein Problem in der VSCode Implementation
                                Das postCreateCommand ist nämlich bewusst so gewählt, dass man nicht beim lokalen Testen das ioBroker-Sentry mit unnötigen Fehlermeldungen zubombt.

                                wisst ihr, wie man an dieser Stelle der Ausführung mehr debug infos herausholen kann?
                                Leider steht im iobroker log nix dazu. vscode erhält halt irgendeinen anderen exit code und sagt dann failed aber ohne mehr Informationen auszugeben.

                                UncleSam 1 Reply Last reply Reply Quote 0
                                • UncleSam
                                  UncleSam Developer @OliverIO last edited by

                                  @OliverIO Dummerweise sagt iob plugin disable sentry wohl nicht mehr, oder? Ich nehme an, der schlägt fehl - eventuell weil etwas noch nicht bereit ist? Keine Ahnung...

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @UncleSam last edited by

                                    @UncleSam @AlCalzone
                                    Ich habe mal dem buanet einen Issue geschrieben, das er hier mal reinschauen soll.

                                    andre 1 Reply Last reply Reply Quote 0
                                    • andre
                                      andre Developer @OliverIO last edited by andre

                                      @OliverIO sagte in VisualStudio Code und Devcontainer:

                                      @UncleSam @AlCalzone
                                      Ich habe mal dem buanet einen Issue geschrieben, das er hier mal reinschauen soll.

                                      Da bin ich. 🙂 Hab jetzt allerdings nicht alles hier gelesen, und da ich auch keine Ahnung von Adapterentwicklung habe wird es sicher nicht einfach für mich mich hier rein zu denken....
                                      Aber was Docker angeht bin ich eigentlich soweit auf dem Stand. Vielleicht kannst du kurz zusammen fassen was das Problem ist und wo ich mich rein lesen kann...

                                      MfG,
                                      André

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @andre last edited by OliverIO

                                        @andre
                                        vielen Dank für deine zeit und dass du so kurzfristig hier mit reinschaust.

                                        Das Problem ist noch bevor es mit der Adapterentwicklung losgeht.

                                        Über das folgende docker-compose file wird der docker container vorbereitet, so das dieser im Rahmen der Entwicklung eingesetzt werden kann aufgebaut.

                                        version: '3'
                                        
                                        services:
                                            iobroker:
                                                build: ./iobroker
                                                container_name: iobroker-luxtronik2
                                                hostname: iobroker-luxtronik2
                                                # This port is only internal, so we can work on this while another instance of ioBroker is running on the host
                                                expose:
                                                    - 8081
                                                volumes:
                                                    - ..:/workspace:cached
                                                    - iobrokerdata-luxtronik2:/opt/iobroker
                                                environment:
                                                    - LANG=en_US.UTF-8
                                                    - LANGUAGE=en_US:en
                                                    - LC_ALL=en_US.UTF-8
                                                    - TZ=Europe/Berlin
                                                    - SETGID=1000
                                                # command: 'touch /workspace/log.log'
                                        
                                            # Reverse proxy to load up-to-date admin sources from the repo
                                            nginx:
                                                image: nginx:latest
                                                depends_on:
                                                    - iobroker
                                                links:
                                                    - iobroker
                                                container_name: nginx-luxtronik2
                                                volumes:
                                                    - ./nginx/nginx.conf:/etc/nginx/nginx.conf
                                                    - ..:/workspace:cached
                                                ports:
                                                    # Make the ioBroker admin available under http://localhost:8082
                                                    - 8082:80
                                        
                                        volumes:
                                            iobrokerdata-luxtronik2:
                                        
                                        

                                        Das workspaceverzeichnis lebt einmal auf dem client-computer und in einer volume und wird von vscode auch immer synchroisiert. für vscode gibt es eine separate Konfigurationsdatei in der @AlCalzone noch ein paar Befehle eingefügt hat, die eigentlich erst ausgeführt werden, wenn alle container gebaut wurden.
                                        Bei manchen (bspw bei mir) gibt es damit aber Probleme.
                                        Zustand nach der Erstellung des containers ist, iobroker läuft, aber der adminadapter wird nicht gestartet.
                                        Meine Recherchen haben ergeben, das die Umbenennung des hostnamens, welche in einem Skript in deinem buanet container erledigt wird, wohl nicht sauber durchläuft. Dadurch erkennt iobroker keine gültigen instanzen für diesen host und startet diese dann auch nicht.
                                        leider habe ich keine ahnung, wie ich mehr debug-informationen bei der container Erstellung erhalte um rauszufinden, wo das Problem genau sein könnte.

                                        Wenn diese Extrabefehle aus der Config von vscode nicht ausgeführt werden, dann startet der Container einwandfrei.

                                        Hier mal die eine Konfigurationszeile aus der vscode config (devcontainer genannt), mit den Befehlen

                                            // When creating the container, delete unnecessary adapters, disable error reporting, set the license as confirmed, and install/update this adapter
                                            "postCreateCommand": "iob del discovery && iob plugin disable sentry && iob object set system.config common.licenseConfirmed=true && NPM_PACK=$(npm pack) && iob url \"$(pwd)/$NPM_PACK\" --debug && rm \"$NPM_PACK\""
                                        
                                        

                                        Noch eine Zusatzinformation:
                                        Wendet man diese Befehle direkt in einer shell im container an, dann laufen die ordnungsgemäß durch. im speziellen erzeugt "iob plugin disable sentry" aber in dem Kontext in dem dieser von vscode nach der container erstellung ausgeführt wird aber einen nicht näher spezifizierten Fehler (vs code bzw docker exec meldet einfach nur failed)

                                        Auch wenn es evtl schon ein bisschen viel Information ist hier noch das vscode logfile für die container Erstellung, da stehen alle abgesetzten Befehle drin

                                        [5 ms] Remote-Containers 0.148.1 in VS Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f).
                                        [16 ms] Start: Resolving remote
                                        [17 ms] Setting up container for folder or workspace: c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master
                                        
                                        [30 ms] Start: Check Docker is running
                                        [31 ms] Start: Run: docker info
                                        [470 ms] Start: Run: docker-compose version --short
                                        [1085 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=iobrokerluxtronik2-master_devcontainer --filter label=com.docker.compose.service=iobroker
                                        [1324 ms] Start: Run: docker-compose -f c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master\.devcontainer\docker-compose.yml config --services
                                        [2131 ms] iobroker
                                        nginx
                                        [2131 ms] 
                                        [2132 ms] Start: Run: docker events --format {{json .}} --filter status=start
                                        [2137 ms] Start: Run: docker-compose --project-name iobrokerluxtronik2-master_devcontainer -f c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master\.devcontainer\docker-compose.yml up -d --build
                                        Creating volume "iobrokerluxtronik2-master_devcontainer_iobrokerdata-luxtronik2"
                                         with default driver
                                        Building iobroker
                                        Step 1/2 : FROM buanet/iobroker:beta
                                         ---> 25daf23d7aeb
                                        Step 2/2 : RUN ln -s /opt/iobroker/node_modules/ /root/.node_modules
                                         ---> Running in 6e5b34baa8f5
                                        Removing intermediate container 6e5b34baa8f5
                                         ---> 47cadd0b3121
                                        
                                        Successfully built 47cadd0b3121
                                        Successfully tagged iobrokerluxtronik2-master_devcontainer_iobroker:latest
                                        Creating iobroker-luxtronik2 ... done
                                        Recreating nginx-luxtronik2  ... done
                                        [6231 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=iobrokerluxtronik2-master_devcontainer --filter label=com.docker.compose.service=iobroker
                                        [6471 ms] Start: Run: docker inspect --type container 3fcb04b67e4f
                                        [6708 ms] Start: Inspecting container
                                        [6708 ms] Start: Run: docker inspect --type container 3fcb04b67e4fad8164fabd738385cf84489eab8e409dd34b1cf801e1a50c8ebe
                                        [6944 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=81bdd907-770e-4120-ba90-de195e8f4d561605911346794 3fcb04b67e4fad8164fabd738385cf84489eab8e409dd34b1cf801e1a50c8ebe /bin/sh
                                        [6950 ms] Start: Run in container: uname -m
                                        [7208 ms] x86_64
                                        [7208 ms] 
                                        [7208 ms] Start: Run in container: (cat /etc/os-release || cat /usr/lib/os-release) 2>/dev/null
                                        [7210 ms] PRETTY_NAME="Debian GNU/Linux 10 (buster)"
                                        NAME="Debian GNU/Linux"
                                        VERSION_ID="10"
                                        VERSION="10 (buster)"
                                        VERSION_CODENAME=buster
                                        ID=debian
                                        HOME_URL="https://www.debian.org/"
                                        SUPPORT_URL="https://www.debian.org/support"
                                        BUG_REPORT_URL="https://bugs.debian.org/"
                                        [7210 ms] 
                                        [7211 ms] Start: Run in container: cat /etc/passwd
                                        [7213 ms] Start: Updating configuration state
                                        [7219 ms] Start: Setup shutdown monitor
                                        [7221 ms] Forking shutdown monitor: c:\Users\msowa\.vscode\extensions\ms-vscode-remote.remote-containers-0.148.1\dist\shutdownMonitorProcess \\.\pipe\vscode-remote-containers-e896c80cc87103eaaa730cd2a1be68bc99559008-sock dockerCompose Info c:\Users\msowa\AppData\Roaming\Code\logs\20201120T231348\exthost1\ms-vscode-remote.remote-containers 1605911347377
                                        [7228 ms] Start: Run in container: test -d /root/.vscode-server
                                        [7230 ms] 
                                        [7230 ms] 
                                        [7230 ms] Exit code 1
                                        [7231 ms] Start: Run in container: test -d /root/.vscode-remote
                                        [7234 ms] 
                                        [7234 ms] 
                                        [7234 ms] Exit code 1
                                        [7235 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.writeMachineSettingsMarker' ; } 2> /dev/null
                                        [7237 ms] 
                                        [7238 ms] 
                                        [7238 ms] Start: Run in container: mkdir -p '/root/.vscode-server/data/Machine' && cat >'/root/.vscode-server/data/Machine/settings.json' <<'settingsJSON'
                                        [7241 ms] 
                                        [7241 ms] 
                                        [7242 ms] Start: Run in container: test -d /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f
                                        [7243 ms] 
                                        [7243 ms] 
                                        [7244 ms] Exit code 1
                                        [7244 ms] Installing VS Code Server for commit e5a624b788d92b8d34d1392e4c4d9789406efe8f
                                        [7244 ms] Start: Run in container: mkdir -p /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1605911354621
                                        [7246 ms] 
                                        [7247 ms] 
                                        [7263 ms] Start: Run in container: (dd iflag=fullblock bs=8192 count=3687 2>/dev/null; dd iflag=fullblock bs=6431 count=1 2>/dev/null) | tar --no-same-owner -xz --strip-components 1 -C /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1605911354621
                                        [8026 ms] 
                                        [8026 ms] 
                                        [8026 ms] Start: Run in container: mv -n /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1605911354621 /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f
                                        [8028 ms] 
                                        [8028 ms] 
                                        [8029 ms] Start: Launching Remote-Containers helper.
                                        [8029 ms] Start: Run: gpgconf --list-dir agent-extra-socket
                                        [8034 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-d10f80bad809f88c6296016f682fa22851b9c857.js' >/tmp/vscode-remote-containers-d10f80bad809f88c6296016f682fa22851b9c857.js
                                        [8036 ms] 
                                        [8036 ms] 
                                        [8036 ms] Start: Run in container: # Test for /root/.ssh/known_hosts and ssh
                                        [8038 ms] 
                                        [8038 ms] 
                                        [8038 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-server-d10f80bad809f88c6296016f682fa22851b9c857.js' >/tmp/vscode-remote-containers-server-d10f80bad809f88c6296016f682fa22851b9c857.js
                                        [8041 ms] 
                                        [8041 ms] 
                                        [8041 ms] Start: Run in container: # Copy C:\Users\msowa\.ssh\known_hosts to /root/.ssh/known_hosts
                                        [8041 ms] Start: Run: docker exec -i -u root -e REMOTE_CONTAINERS_SOCKETS=["/tmp/vscode-ssh-auth-d10f80bad809f88c6296016f682fa22851b9c857.sock"] -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-d10f80bad809f88c6296016f682fa22851b9c857.sock 3fcb04b67e4fad8164fabd738385cf84489eab8e409dd34b1cf801e1a50c8ebe /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node /tmp/vscode-remote-containers-server-d10f80bad809f88c6296016f682fa22851b9c857.js
                                        [8049 ms] 
                                        [8049 ms] 
                                        [8049 ms] Start: Run in container: command -v git >/dev/null 2>&1 && git config --system credential.helper '!f() { /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node /tmp/vscode-remote-containers-d10f80bad809f88c6296016f682fa22851b9c857.js $*; }; f' || true
                                        [8052 ms] 
                                        [8052 ms] 
                                        [8052 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.installExtensionsMarker' ; } 2> /dev/null
                                        [8055 ms] 
                                        [8055 ms] 
                                        [8057 ms] Start: Run in container: test -d /root/.vscode-server/extensionsCache && ls /root/.vscode-server/extensionsCache || true
                                        [8059 ms] 
                                        [8059 ms] 
                                        [8066 ms] Start: Run in container: # Copy extensions to remote
                                        [8095 ms] 
                                        [8095 ms] 
                                        [8095 ms] Start: Run in container: cd /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f; export VSCODE_AGENT_FOLDER=/root/.vscode-server; /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/server.sh --extensions-download-dir /root/.vscode-server/extensionsCache --install-extension dbaeumer.vscode-eslint --install-extension esbenp.prettier-vscode --force
                                        [10168 ms] Installing extensions...
                                        Installing extension 'esbenp.prettier-vscode' v5.8.0...
                                        Installing extension 'dbaeumer.vscode-eslint' v2.1.13...
                                        Extension 'dbaeumer.vscode-eslint' v2.1.13 was successfully installed.
                                        Extension 'esbenp.prettier-vscode' v5.8.0 was successfully installed.
                                        [10168 ms] 
                                        [10168 ms] Start: Run in container: ls /root/.vscode-server/extensionsCache || true
                                        [10170 ms] dbaeumer.vscode-eslint-2.1.13
                                        esbenp.prettier-vscode-5.7.2
                                        esbenp.prettier-vscode-5.8.0
                                        [10170 ms] 
                                        [10171 ms] Start: Run: docker exec -i -u root -w /root/.vscode-server 3fcb04b67e4fad8164fabd738385cf84489eab8e409dd34b1cf801e1a50c8ebe tar c extensionsCache/esbenp.prettier-vscode-5.8.0
                                        [10496 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.postCreateCommandMarker' ; } 2> /dev/null
                                        [10499 ms] 
                                        [10499 ms] 
                                        [10499 ms] Start: Run in container: test -f /root/.vscode-server/.postCreateCommandMarker
                                        [10500 ms] 
                                        [10500 ms] 
                                        [10500 ms] Exit code 1
                                        [10501 ms] Start: Run: docker exec -i -u root -e SSH_AUTH_SOCK=/tmp/vscode-ssh-auth-d10f80bad809f88c6296016f682fa22851b9c857.sock -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-d10f80bad809f88c6296016f682fa22851b9c857.sock -e REMOTE_CONTAINERS=true -w /workspace 3fcb04b67e4fad8164fabd738385cf84489eab8e409dd34b1cf801e1a50c8ebe /bin/sh -c iob del discovery && iob plugin disable sentry && iob object set system.config common.licenseConfirmed=true && NPM_PACK=$(npm pack) && iob url "$(pwd)/$NPM_PACK" --debug && rm "$NPM_PACK"
                                        [13055 ms] Delete adapter "discovery"
                                        [13059 ms] npm uninstall iobroker.discovery --error --prefix "/opt/iobroker" (System call)
                                        [16385 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
                                        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                                        [16392 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor):
                                        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                                        
                                        [20943 ms] postCreateCommand "iob del discovery && iob plugin disable sentry && iob object set system.config common.licenseConfirmed=true && NPM_PACK=$(npm pack) && iob url \"$(pwd)/$NPM_PACK\" --debug && rm \"$NPM_PACK\"" failed.
                                        [20943 ms] Start: Run in container: command -v git >/dev/null 2>&1 && git config --global credential.helper '!f() { /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node /tmp/vscode-remote-containers-d10f80bad809f88c6296016f682fa22851b9c857.js $*; }; f' || true
                                        [20947 ms] 
                                        [20947 ms] 
                                        [20948 ms] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink -f /proc/$pid/cwd ; xargs -0 < /proc/$pid/environ ; xargs -0 < /proc/$pid/cmdline ; } ; echo ; done 2>/dev/null
                                        [20969 ms] Start: Run in container: /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/server.sh --disable-user-env-probe --use-host-proxy --port 0 --extensions-download-dir /root/.vscode-server/extensionsCache
                                        [21137 ms] 
                                        
                                        *
                                        * Visual Studio Code Server
                                        *
                                        * Reminder: You may only use this software with Visual Studio family products,
                                        * as described in the license https://aka.ms/vscode-remote/license
                                        *
                                        
                                        
                                        [21150 ms] IP Address: 172.22.0.2
                                        [21152 ms] Extension host agent listening on 44767
                                        [21152 ms] Start: Run in container: echo 44767 >/root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/.devport
                                        [21152 ms] 
                                        
                                        [23:29:28] Extension host agent started.
                                        [21154 ms] 
                                        [21154 ms] 
                                        [21155 ms] Forwarding local port 44767 to container port 44767
                                        [21179 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=81bdd907-770e-4120-ba90-de195e8f4d561605911346794 3fcb04b67e4fad8164fabd738385cf84489eab8e409dd34b1cf801e1a50c8ebe /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node -e 
                                        [21180 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=81bdd907-770e-4120-ba90-de195e8f4d561605911346794 3fcb04b67e4fad8164fabd738385cf84489eab8e409dd34b1cf801e1a50c8ebe /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node -e 
                                        [21560 ms] [23:29:28] [::ffff:127.0.0.1][e16620fd][ExtensionHostConnection] New connection established.
                                        [21565 ms] [23:29:28] [::ffff:127.0.0.1][e16620fd][ExtensionHostConnection] <375> Launched Extension Host Process.
                                        [21598 ms] [23:29:28] [::ffff:127.0.0.1][0be2ed74][ManagementConnection] New connection established.
                                        [21618 ms] [23:29:28] Listing 0 persistent terminals, 0 total terminals```
                                        [/s]
                                        
                                        und hier noch die docker logs für die Erstellung, am Ende kann man sehen, das die Umbenennung des hosts nicht funktioniert hat.
                                        
                                        [s=]
                                        

                                        --------------- 2020-11-20 23:29:13 ---------------



                                        ----- Welcome to your ioBroker-container! -----

                                        ----- Startupscript is now running. -----

                                        ----- Please be patient! -----



                                        ----- Debugging information -----


                                        ----- System -----

                                        ----- arch: x86_64 -----


                                        ----- Versions -----

                                        ----- image: v5.1.0 -----

                                        ----- node: v12.19.0 -----

                                        ----- npm: 6.14.8 -----


                                        ----- ENV -----

                                        ----- SETGID: 1000 -----

                                        ----- SETUID: 1000 -----



                                        ----- Step 1 of 5: Preparing container -----


                                        Registering maintenance script as command.

                                        Done.


                                        ----- Step 2 of 5: Detecting ioBroker installation -----


                                        Existing installation of ioBroker detected in /opt/iobroker.


                                        ----- Step 3 of 5: Checking ioBroker installation -----


                                        (Re)Setting folder permissions (This might take a while! Please be patient!)...

                                        Done.

                                        Fixing "sudo-bug" by replacing sudo in iobroker with gosu...

                                        Done.

                                        Hostname in ioBroker does not match the hostname of this container.

                                        Updating hostname to iobroker-luxtronik2...

                                        The host for instance "system.adapter.admin.0" was changed from "dc102d03fe1b" to "iobroker-luxtronik2".

                                        The host for instance "system.adapter.discovery.0" was changed from "dc102d03fe1b" to "iobroker-luxtronik2".

                                        The host for instance "system.adapter.info.0" was changed from "dc102d03fe1b" to "iobroker-luxtronik2".

                                        Done.


                                        ----- Step 4 of 5: Applying special settings -----


                                        Some adapters have special requirements/ settings which can be activated by the use of environment variables.

                                        For more information take a look at readme.md on Github!


                                        ----- Step 5 of 5: ioBroker startup -----


                                        Starting ioBroker...

                                        host.iobroker-luxtronik2 check instance "system.adapter.admin.0" for host "dc102d03fe1b"

                                        host.iobroker-luxtronik2 check instance "system.adapter.discovery.0" for host "dc102d03fe1b"

                                        host.iobroker-luxtronik2 check instance "system.adapter.info.0" for host "dc102d03fe1b"

                                        [/s]
                                        andre 1 Reply Last reply Reply Quote 0
                                        • andre
                                          andre Developer @OliverIO last edited by

                                          @OliverIO Ok, soweit habe ich das glaub ich verstanden.

                                          Fragen:

                                          • Wer führt die Befehle aus der vsconfig aus, bzw. wie werden diese getriggert?
                                          • Wie sieht das Logfile des ioBroker Containers aus? Für jeden Schritt den das Startup Script macht gibt es dort ja eine entsprechende Ausgabe

                                          Wenn es es sich beim postCreateCommand um eine Vorbereitung des iob Containers handelt, hast du mal versucht die Kommandos in ein user defined startup script zu packen und die "Vorbereitung" vom startup script des containers erledigen zu lassen?

                                          MfG,
                                          André

                                          AlCalzone 1 Reply Last reply Reply Quote 0
                                          • AlCalzone
                                            AlCalzone Developer @andre last edited by

                                            @andre sagte in VisualStudio Code und Devcontainer:

                                            postCreateCommand

                                            Führt VSCode bzw. die Container-Erweiterung einmalig beim Erstellen (bzw. Rebuild) des Containers aus. Die von dir genannten startup scripts sollten das aber nahtlos ersetzen können.

                                            OliverIO 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            827
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter entwicklung docker remote vscode
                                            13
                                            127
                                            13565
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo