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.
    • 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
                        • OliverIO
                          OliverIO @AlCalzone last edited by

                          @AlCalzone @andre
                          Nach ein bisschen aufteilen der Befehle scheint der iobroker erst einmal zu laufen.
                          Allerdings sind Änderungen an der Datei index_m.html nicht in iobroker sichtbar. Auch nicht nach mehrmaligem upload über das iobroker ui
                          Meine Dateien sehen erst einmal so aus:

                          docker-compose.yml

                          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
                                      - ./userscript:/opt/userscripts
                                  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:
                          
                          

                          devcontainer.json

                          // For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
                          // https://github.com/microsoft/vscode-dev-containers/tree/v0.101.1/containers/docker-existing-docker-compose
                          // If you want to run as a non-root user in the container, see .devcontainer/docker-compose.yml.
                          {
                              "name": "ioBroker Docker Compose",
                          
                              // Update the 'dockerComposeFile' list if you have more compose files or use different names.
                              // The .devcontainer/docker-compose.yml file contains any overrides you need/want to make.
                              "dockerComposeFile": ["docker-compose.yml"],
                          
                              // The 'service' property is the name of the service for the container that VS Code should
                              // use. Update this value and .devcontainer/docker-compose.yml to the real service name.
                              "service": "iobroker",
                          
                              // The optional 'workspaceFolder' property is the path VS Code should open by default when
                              // connected. This is typically a file mount in .devcontainer/docker-compose.yml
                              "workspaceFolder": "/workspace",
                          
                              // Set *default* container specific settings.json values on container create.
                              "settings": {},
                          
                              // Add the IDs of extensions you want installed when the container is created.
                              "extensions": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"],
                          
                              // Uncomment the next line if you want start specific services in your Docker Compose config.
                              // "runServices": [],
                          
                              // Uncomment the next line if you want to keep your containers running after VS Code shuts down.
                              // "shutdownAction": "none",
                          
                              // When creating the container, delete unnecessary adapters, disable error reporting, set the license as confirmed, and install/update this adapter
                              //"postCreateCommand": "hostname && cp /opt/iobroker/iobroker-data/*.json /workspace/ && iob del discovery && iob object set system.config common.licenseConfirmed=true && NPM_PACK=$(npm pack) && iob url \"$(pwd)/$NPM_PACK\" --debug && rm \"$NPM_PACK\""
                              //"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\""
                              "postCreateCommand": "NPM_PACK=$(npm pack) && iob url \"$(pwd)/$NPM_PACK\" --debug && rm \"$NPM_PACK\""
                          
                              // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
                              //"remoteUser": "iobroker"
                          }
                          
                          

                          userscript_firststart.sh

                          #!/bin/bash
                          
                          # This is an example script file.
                          # To run the Script on the first start of a new container you have to rename it to userscript_firststart.sh.
                          
                          # You can add your advanced script code here!
                          
                          echo ' '
                          echo "I'm your startscript userscript_firststart.sh. I will run only on the FIRST startup of the container."
                          echo ' '
                          echo "iob del discovery"
                          iob del discovery 
                          echo "iob plugin disable sentry"
                          iob plugin disable sentry 
                          echo "iob object set system.config common.licenseConfirmed=true"
                          iob object set system.config common.licenseConfirmed=true 
                          #echo "NPM_PACK=$(npm pack)"
                          #NPM_PACK=$(npm pack) 
                          #echo "iob url \"$(pwd)/$NPM_PACK\" --debug "
                          #iob url "$(pwd)/$NPM_PACK" --debug 
                          #echo "rm \"$NPM_PACK\""
                          #rm "$NPM_PACK"
                          exit 0
                          
                          

                          vscode log

                          [2020-11-23T10:15:14.417Z] [PID 13024] [5 ms] Remote-Containers 0.148.1 in VS Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f).
                          [2020-11-23T10:15:14.427Z] [PID 13024] [15 ms] Start: Resolving remote
                          [2020-11-23T10:15:14.428Z] [PID 13024] [16 ms] Setting up container for folder or workspace: c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master
                          
                          
                          [2020-11-23T10:15:14.461Z] [PID 13024] [49 ms] Start: Check Docker is running
                          [2020-11-23T10:15:14.461Z] [PID 13024] [49 ms] Start: Run: docker info
                          [2020-11-23T10:15:14.908Z] [PID 13024] [496 ms] Start: Run: docker-compose version --short
                          [2020-11-23T10:15:15.483Z] [PID 13024] [1071 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=iobrokerluxtronik2-master_devcontainer --filter label=com.docker.compose.service=iobroker
                          [2020-11-23T10:15:15.728Z] [PID 13024] [1316 ms] Start: Run: docker-compose -f c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master\.devcontainer\docker-compose.yml config --services
                          [2020-11-23T10:15:16.496Z] [PID 13024] [2084 ms] iobroker
                          nginx
                          [2020-11-23T10:15:16.497Z] [PID 13024] [2085 ms] 
                          [2020-11-23T10:15:16.497Z] [PID 13024] [2085 ms] Start: Run: docker events --format {{json .}} --filter status=start
                          [2020-11-23T10:15:16.503Z] [PID 13024] [2091 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
                          [2020-11-23T10:15:16.608Z] [PID 13024] 
                          [2020-11-23T10:15:17.343Z] [PID 13024] Creating volume "iobrokerluxtronik2-master_devcontainer_iobrokerdata-luxtronik2"
                           with default driver
                          [2020-11-23T10:15:17.375Z] [PID 13024] Building iobroker
                          [2020-11-23T10:15:17.471Z] [PID 13024] Step 1/2 : FROM buanet/iobroker:beta
                           ---> 25daf23d7aeb
                          Step 2/2 : RUN ln -s /opt/iobroker/node_modules/ /root/.node_modules
                          [2020-11-23T10:15:17.503Z] [PID 13024]  ---> Running in 6870bedb4694
                          [2020-11-23T10:15:18.120Z] [PID 13024] Removing intermediate container 6870bedb4694
                           ---> ce11fd2187b0
                          
                          Successfully built ce11fd2187b0
                          [2020-11-23T10:15:18.152Z] [PID 13024] Successfully tagged iobrokerluxtronik2-master_devcontainer_iobroker:latest
                          [2020-11-23T10:15:18.184Z] [PID 13024] Creating iobroker-luxtronik2 ...
                          [2020-11-23T10:15:19.632Z] [PID 13024] 
                          Creating iobroker-luxtronik2 ... done
                          [2020-11-23T10:15:19.662Z] [PID 13024] Recreating nginx-luxtronik2  ...
                          [2020-11-23T10:15:20.551Z] [PID 13024] 
                          Recreating nginx-luxtronik2  ... done
                          [2020-11-23T10:15:20.646Z] [PID 13024] [6234 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=iobrokerluxtronik2-master_devcontainer --filter label=com.docker.compose.service=iobroker
                          [2020-11-23T10:15:20.894Z] [PID 13024] [6482 ms] Start: Run: docker inspect --type container 3de76046067a
                          [2020-11-23T10:15:21.144Z] [PID 13024] [6732 ms] Start: Inspecting container
                          [2020-11-23T10:15:21.144Z] [PID 13024] [6732 ms] Start: Run: docker inspect --type container 3de76046067a0ade7ae441e0385c2d1cd4825daaefbfb2623dc78022da61f5eb
                          [2020-11-23T10:15:21.406Z] [PID 13024] [6994 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=39169477-d6c1-45d3-827b-7259f89d63501606126513841 3de76046067a0ade7ae441e0385c2d1cd4825daaefbfb2623dc78022da61f5eb /bin/sh
                          [2020-11-23T10:15:21.411Z] [PID 13024] [6999 ms] Start: Run in container: uname -m
                          [2020-11-23T10:15:21.688Z] [PID 13024] [7276 ms] x86_64
                          [2020-11-23T10:15:21.688Z] [PID 13024] [7276 ms] 
                          [2020-11-23T10:15:21.688Z] [PID 13024] [7276 ms] Start: Run in container: (cat /etc/os-release || cat /usr/lib/os-release) 2>/dev/null
                          [2020-11-23T10:15:21.693Z] [PID 13024] [7281 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/"
                          [2020-11-23T10:15:21.693Z] [PID 13024] [7281 ms] 
                          [2020-11-23T10:15:21.693Z] [PID 13024] [7281 ms] Start: Run in container: cat /etc/passwd
                          [2020-11-23T10:15:21.696Z] [PID 13024] [7284 ms] Start: Updating configuration state
                          [2020-11-23T10:15:21.703Z] [PID 13024] [7291 ms] Start: Setup shutdown monitor
                          [2020-11-23T10:15:21.706Z] [PID 13024] [7294 ms] Forking shutdown monitor: c:\Users\msowa\.vscode\extensions\ms-vscode-remote.remote-containers-0.148.1\dist\shutdownMonitorProcess \\.\pipe\vscode-remote-containers-540727a5d7aabf36e6d7b1775afc78a5f128f567-sock dockerCompose Info c:\Users\msowa\AppData\Roaming\Code\logs\20201123T104017\exthost1\ms-vscode-remote.remote-containers 1606126514412
                          [2020-11-23T10:15:21.717Z] [PID 13024] [7305 ms] Start: Run in container: test -d /root/.vscode-server
                          [2020-11-23T10:15:21.721Z] [PID 13024] [7309 ms] 
                          [2020-11-23T10:15:21.721Z] [PID 13024] [7309 ms] 
                          [2020-11-23T10:15:21.721Z] [PID 13024] [7309 ms] Exit code 1
                          [2020-11-23T10:15:21.721Z] [PID 13024] [7309 ms] Start: Run in container: test -d /root/.vscode-remote
                          [2020-11-23T10:15:21.725Z] [PID 13024] [7313 ms] 
                          [2020-11-23T10:15:21.725Z] [PID 13024] [7313 ms] 
                          [2020-11-23T10:15:21.725Z] [PID 13024] [7313 ms] Exit code 1
                          [2020-11-23T10:15:21.725Z] [PID 13024] [7313 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.writeMachineSettingsMarker' ; } 2> /dev/null
                          [2020-11-23T10:15:21.729Z] [PID 13024] [7317 ms] 
                          [2020-11-23T10:15:21.729Z] [PID 13024] [7317 ms] 
                          [2020-11-23T10:15:21.729Z] [PID 13024] [7317 ms] Start: Run in container: mkdir -p '/root/.vscode-server/data/Machine' && cat >'/root/.vscode-server/data/Machine/settings.json' <<'settingsJSON'
                          [2020-11-23T10:15:21.733Z] [PID 13024] [7321 ms] 
                          [2020-11-23T10:15:21.733Z] [PID 13024] [7321 ms] 
                          [2020-11-23T10:15:21.733Z] [PID 13024] [7321 ms] Start: Run in container: test -d /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f
                          [2020-11-23T10:15:21.736Z] [PID 13024] [7324 ms] 
                          [2020-11-23T10:15:21.736Z] [PID 13024] [7324 ms] 
                          [2020-11-23T10:15:21.736Z] [PID 13024] [7324 ms] Exit code 1
                          [2020-11-23T10:15:21.736Z] [PID 13024] [7324 ms] Installing VS Code Server for commit e5a624b788d92b8d34d1392e4c4d9789406efe8f
                          [2020-11-23T10:15:21.736Z] [PID 13024] [7324 ms] Start: Run in container: mkdir -p /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1606126521736
                          [2020-11-23T10:15:21.739Z] [PID 13024] [7327 ms] 
                          [2020-11-23T10:15:21.739Z] [PID 13024] [7327 ms] 
                          [2020-11-23T10:15:21.759Z] [PID 13024] [7347 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_1606126521736
                          [2020-11-23T10:15:22.567Z] [PID 13024] [8155 ms] 
                          [2020-11-23T10:15:22.567Z] [PID 13024] [8155 ms] 
                          [2020-11-23T10:15:22.567Z] [PID 13024] [8155 ms] Start: Run in container: mv -n /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1606126521736 /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f
                          [2020-11-23T10:15:22.570Z] [PID 13024] [8158 ms] 
                          [2020-11-23T10:15:22.571Z] [PID 13024] [8159 ms] 
                          [2020-11-23T10:15:22.571Z] [PID 13024] [8159 ms] Start: Launching Remote-Containers helper.
                          [2020-11-23T10:15:22.571Z] [PID 13024] [8159 ms] Start: Run: gpgconf --list-dir agent-extra-socket
                          [2020-11-23T10:15:22.575Z] [PID 13024] [8163 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-bf036e165c34f3875ff35bbe22ac2049fa6854fc.js' >/tmp/vscode-remote-containers-bf036e165c34f3875ff35bbe22ac2049fa6854fc.js
                          [2020-11-23T10:15:22.578Z] [PID 13024] [8166 ms] 
                          [2020-11-23T10:15:22.578Z] [PID 13024] [8166 ms] 
                          [2020-11-23T10:15:22.578Z] [PID 13024] [8166 ms] Start: Run in container: # Test for /root/.ssh/known_hosts and ssh
                          [2020-11-23T10:15:22.580Z] [PID 13024] [8168 ms] 
                          [2020-11-23T10:15:22.580Z] [PID 13024] [8168 ms] 
                          [2020-11-23T10:15:22.580Z] [PID 13024] [8168 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-server-bf036e165c34f3875ff35bbe22ac2049fa6854fc.js' >/tmp/vscode-remote-containers-server-bf036e165c34f3875ff35bbe22ac2049fa6854fc.js
                          [2020-11-23T10:15:22.583Z] [PID 13024] [8170 ms] 
                          [2020-11-23T10:15:22.583Z] [PID 13024] [8171 ms] 
                          [2020-11-23T10:15:22.583Z] [PID 13024] [8171 ms] Start: Run in container: # Copy C:\Users\msowa\.ssh\known_hosts to /root/.ssh/known_hosts
                          [2020-11-23T10:15:22.583Z] [PID 13024] [8171 ms] Start: Run: docker exec -i -u root -e REMOTE_CONTAINERS_SOCKETS=["/tmp/vscode-ssh-auth-bf036e165c34f3875ff35bbe22ac2049fa6854fc.sock"] -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-bf036e165c34f3875ff35bbe22ac2049fa6854fc.sock 3de76046067a0ade7ae441e0385c2d1cd4825daaefbfb2623dc78022da61f5eb /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node /tmp/vscode-remote-containers-server-bf036e165c34f3875ff35bbe22ac2049fa6854fc.js
                          [2020-11-23T10:15:22.591Z] [PID 13024] [8179 ms] 
                          [2020-11-23T10:15:22.591Z] [PID 13024] [8179 ms] 
                          [2020-11-23T10:15:22.591Z] [PID 13024] [8179 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-bf036e165c34f3875ff35bbe22ac2049fa6854fc.js $*; }; f' || true
                          [2020-11-23T10:15:22.594Z] [PID 13024] [8182 ms] 
                          [2020-11-23T10:15:22.594Z] [PID 13024] [8182 ms] 
                          [2020-11-23T10:15:22.594Z] [PID 13024] [8182 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.installExtensionsMarker' ; } 2> /dev/null
                          [2020-11-23T10:15:22.597Z] [PID 13024] [8185 ms] 
                          [2020-11-23T10:15:22.597Z] [PID 13024] [8185 ms] 
                          [2020-11-23T10:15:22.599Z] [PID 13024] [8187 ms] Start: Run in container: test -d /root/.vscode-server/extensionsCache && ls /root/.vscode-server/extensionsCache || true
                          [2020-11-23T10:15:22.601Z] [PID 13024] [8189 ms] 
                          [2020-11-23T10:15:22.601Z] [PID 13024] [8189 ms] 
                          [2020-11-23T10:15:22.610Z] [PID 13024] [8198 ms] Start: Run in container: # Copy extensions to remote
                          [2020-11-23T10:15:22.663Z] [PID 13024] [8251 ms] 
                          [2020-11-23T10:15:22.663Z] [PID 13024] [8251 ms] 
                          [2020-11-23T10:15:22.664Z] [PID 13024] [8252 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
                          [2020-11-23T10:15:23.650Z] [PID 13024] [9238 ms] Installing extensions...
                          Installing extension 'dbaeumer.vscode-eslint' v2.1.13...
                          Installing extension 'esbenp.prettier-vscode' v5.8.0...
                          Extension 'dbaeumer.vscode-eslint' v2.1.13 was successfully installed.
                          Extension 'esbenp.prettier-vscode' v5.8.0 was successfully installed.
                          [2020-11-23T10:15:23.650Z] [PID 13024] [9238 ms] 
                          [2020-11-23T10:15:23.650Z] [PID 13024] [9238 ms] Start: Run in container: ls /root/.vscode-server/extensionsCache || true
                          [2020-11-23T10:15:23.654Z] [PID 13024] [9242 ms] dbaeumer.vscode-eslint-2.1.13
                          esbenp.prettier-vscode-5.8.0
                          [2020-11-23T10:15:23.654Z] [PID 13024] [9242 ms] 
                          [2020-11-23T10:15:23.654Z] [PID 13024] [9242 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.postCreateCommandMarker' ; } 2> /dev/null
                          [2020-11-23T10:15:23.657Z] [PID 13024] [9245 ms] 
                          [2020-11-23T10:15:23.657Z] [PID 13024] [9245 ms] 
                          [2020-11-23T10:15:23.657Z] [PID 13024] [9245 ms] Start: Run in container: test -f /root/.vscode-server/.postCreateCommandMarker
                          [2020-11-23T10:15:23.659Z] [PID 13024] [9247 ms] 
                          [2020-11-23T10:15:23.659Z] [PID 13024] [9247 ms] 
                          [2020-11-23T10:15:23.659Z] [PID 13024] [9247 ms] Exit code 1
                          [2020-11-23T10:15:23.659Z] [PID 13024] [9247 ms] Start: Run: docker exec -i -u root -e SSH_AUTH_SOCK=/tmp/vscode-ssh-auth-bf036e165c34f3875ff35bbe22ac2049fa6854fc.sock -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-bf036e165c34f3875ff35bbe22ac2049fa6854fc.sock -e REMOTE_CONTAINERS=true -w /workspace 3de76046067a0ade7ae441e0385c2d1cd4825daaefbfb2623dc78022da61f5eb /bin/sh -c NPM_PACK=$(npm pack) && iob url "$(pwd)/$NPM_PACK" --debug && rm "$NPM_PACK"
                          [2020-11-23T10:15:26.887Z] [PID 13024] [12475 ms] install /workspace/iobroker.luxtronik2-0.0.2.tgz
                          [2020-11-23T10:15:27.031Z] [PID 13024] [12619 ms] NPM version: 6.14.8
                          [2020-11-23T10:15:27.032Z] [PID 13024] [12620 ms] npm install /workspace/iobroker.luxtronik2-0.0.2.tgz --loglevel error --prefix "/opt/iobroker" (System call)
                          [2020-11-23T10:15:29.482Z] [PID 13024] [15070 ms] readDir will not read this directory (widgets/discovery/) in future versions: vis is not an object of type "meta"
                          [2020-11-23T10:15:29.485Z] [PID 13024] [15073 ms] readDir will not read this directory (widgets/discovery.html/) in future versions: vis is not an object of type "meta"
                          [2020-11-23T10:15:29.487Z] [PID 13024] [15075 ms] readDir will not read this directory () in future versions: discovery is not an object of type "meta"
                          [2020-11-23T10:15:30.490Z] [PID 13024] [16078 ms]  Cannot write files: /opt/iobroker/iobroker-data/files/discovery.admin/_data.json: ENOENT: no such file or directory, open '/opt/iobroker/iobroker-data/files/discovery.admin/_data.json'
                          [2020-11-23T10:15:31.575Z] [PID 13024] [17163 ms] + iobroker.luxtronik2@0.0.2
                          added 7 packages from 80 contributors and removed 103 packages in 4.184s
                          [2020-11-23T10:15:31.738Z] [PID 13024] [17326 ms] 
                          20 packages are looking for funding
                            run `npm fund` for details
                          
                          [2020-11-23T10:15:31.761Z] [PID 13024] [17348 ms] upload [4] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/words.js words.js application/javascript
                          [2020-11-23T10:15:31.814Z] [PID 13024] [17402 ms] upload [3] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/style.css style.css text/css
                          [2020-11-23T10:15:31.866Z] [PID 13024] [17454 ms] upload [2] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/luxtronik2.png luxtronik2.png image/png
                          [2020-11-23T10:15:31.917Z] [PID 13024] [17505 ms] upload [1] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/index_m.html index_m.html text/html
                          [2020-11-23T10:15:31.968Z] [PID 13024] [17556 ms] upload [0] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/admin.d.ts admin.d.ts video/mp2t
                          [2020-11-23T10:15:33.066Z] [PID 13024] [18654 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-bf036e165c34f3875ff35bbe22ac2049fa6854fc.js $*; }; f' || true
                          [2020-11-23T10:15:33.070Z] [PID 13024] [18658 ms] 
                          [2020-11-23T10:15:33.070Z] [PID 13024] [18658 ms] 
                          [2020-11-23T10:15:33.070Z] [PID 13024] [18658 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
                          [2020-11-23T10:15:33.126Z] [PID 13024] [18714 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
                          [2020-11-23T10:15:33.311Z] [PID 13024] [18899 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
                          *
                          
                          
                          [2020-11-23T10:15:33.328Z] [PID 13024] [18916 ms] IP Address: 172.22.0.2
                          [2020-11-23T10:15:33.332Z] [PID 13024] [18920 ms] Extension host agent listening on 39891
                          [2020-11-23T10:15:33.332Z] [PID 13024] [18920 ms] 
                          
                          [2020-11-23T10:15:33.332Z] [PID 13024] [18920 ms] Start: Run in container: echo 39891 >/root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/.devport
                          [2020-11-23T10:15:33.332Z] [PID 13024] [18920 ms] [11:15:33] Extension host agent started.
                          [2020-11-23T10:15:33.334Z] [PID 13024] [18922 ms] 
                          [2020-11-23T10:15:33.334Z] [PID 13024] [18922 ms] 
                          [2020-11-23T10:15:33.337Z] [PID 13024] [18925 ms] Forwarding local port 39891 to container port 39891
                          [2020-11-23T10:15:33.403Z] [PID 13024] [18991 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=39169477-d6c1-45d3-827b-7259f89d63501606126513841 3de76046067a0ade7ae441e0385c2d1cd4825daaefbfb2623dc78022da61f5eb /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node -e 
                          [2020-11-23T10:15:33.404Z] [PID 13024] [18992 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=39169477-d6c1-45d3-827b-7259f89d63501606126513841 3de76046067a0ade7ae441e0385c2d1cd4825daaefbfb2623dc78022da61f5eb /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node -e 
                          [2020-11-23T10:15:33.847Z] [PID 13024] [19435 ms] [11:15:33] [::ffff:127.0.0.1][c69c8eb2][ManagementConnection] New connection established.
                          [2020-11-23T10:15:33.875Z] [PID 13024] [19463 ms] [11:15:33] Listing 0 persistent terminals, 0 total terminals
                          [2020-11-23T10:15:33.975Z] [PID 13024] [19563 ms] [11:15:33] [::ffff:127.0.0.1][445414e6][ExtensionHostConnection] New connection established.
                          [2020-11-23T10:15:34.024Z] [PID 13024] [19612 ms] [11:15:33] [::ffff:127.0.0.1][445414e6][ExtensionHostConnection] <398> Launched Extension Host Process.
                          [2020-11-23T10:22:10.278Z] [PID 13024] [415866 ms] Start: Run in container: cat /proc/1437/environ
                          [2020-11-23T10:25:26.300Z] [PID 13024] [611888 ms] Start: Run in container: cat /proc/1759/environ
                          

                          Bin mal gespannt, ob ich der einzige bleibe, der diese Probleme hat und an was es dann am Ende liegt.

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

                            @OliverIO Danke für die Zusammenfassung. Ich habe mir das in https://github.com/ioBroker/create-adapter/issues/637 mal vermerkt.

                            @OliverIO sagte in VisualStudio Code und Devcontainer:

                            Allerdings sind Änderungen an der Datei index_m.html nicht in iobroker sichtbar.

                            Wie sieht denn deine nginx.conf aus? Kann sein, dass der hot-reload derzeit nur bei React funktioniert - könnte man aber anpassen.

                            AlCalzone created this issue in ioBroker/create-adapter

                            open Devcontainer: Use startup scripts for docker instead of postCreateCommand to manage instances #637

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

                              @AlCalzone sagte in VisualStudio Code und Devcontainer:

                              Kann sein, dass der hot-reload derzeit nur bei React funktioniert - könnte man aber anpassen.

                              Das ist so, allerdings sollte F5 im Browser definitiv die Seite neu laden.

                              @OliverIO sagte in VisualStudio Code und Devcontainer:

                              Auch nicht nach mehrmaligem upload über das iobroker ui

                              Das hat auch keine Auswirkung: die Dateien werden von nginx direkt vom workspace Folder zur Verfügung gestellt.

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

                                @UncleSam sagte in VisualStudio Code und Devcontainer:

                                nginx direkt vom workspace Folder zur Verfügung gestellt.

                                Hast Recht, ich dachte wir haben das nur bei React aktiv - ist aber immer so:
                                https://github.com/ioBroker/create-adapter/blob/ccd92f13d6a77a062757bf5393f8e2ed7c71fa2c/templates/_devcontainer/nginx/nginx.conf.ts#L34-L36

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

                                  @AlCalzone @UncleSam
                                  Könnt ihr mal bitte testen, ob bei euch im Container die watch-Geschichten funktionieren (parcel, gulp oder babel)
                                  Bei mir werden im /workspace Ordner keine Ereignisse ausgelöst, in anderen schon.
                                  Das macht das automatische rebuild von react bspw etwas schwierig.
                                  Habe dazu auch issues für docker for windows gefunden.

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

                                    @OliverIO Ja, geht nicht. Respektive nur wenn du deine Dateien im WSL hast und nicht unter Windows:
                                    https://www.docker.com/blog/docker-desktop-wsl-2-best-practices/
                                    Und vor allem: https://docs.docker.com/docker-for-windows/wsl/#best-practices

                                    Die andere Lösung haben wir im create-adaper eingebaut: du kannst Chokidar sagen, er solle das Dateisystem pollen:
                                    https://github.com/ioBroker/create-adapter/blob/ccd92f13d6a77a062757bf5393f8e2ed7c71fa2c/templates/_devcontainer/docker-compose.yml.ts#L42

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

                                      @UncleSam
                                      Super danke

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        noox last edited by noox

                                        Möchte auch mein Feedback geben:

                                        Ich habe vor ein paar Tagen via Adapter-Creator einen Adapter zum Testen erstellt (Typescript, DevContainer, React-GUI). Ich hatte auch das Bad-Gateway-Problem. Ich hatte etwas rumprobiert - ohne Erfolg. Am nächsten Tag funktionierte es dann aber plötzlich! "postCreateCommand" war aber aktiv.

                                        Mit weiterem Rumprobieren bin ich schrittweise weitergekommen, aber teils auch wieder angestanden, sodass ich gestern beschloss, nochmals von vorne anzufangen.

                                        Allerdings habe ich es mit dem neu generierten Container nicht mehr geschafft, das Bad-Gateway-Problem loszuwerden. Die Instanzen werden nicht gestartet. Auch wenn ich postCreateCommand auskommentiere.

                                        Jetzt habe ich zwei Container, wobei ich beim einen auf ioBroker zugreifen kann und beim zweiten bekomme ich den Bad Gateway Fehler. Ich hab schon Folder-Vergleiche gemacht, aber ich werde nicht schlau draus. Gibt es da irgendwas auf das ich speziell schauen könnte?

                                        Mittlerweile habe ich es aber geschafft, dass der erste funktioniert.

                                        Hier ein paar Punkte, über die ich gestolpert bin:

                                        • Wenn ich CHOKIDAR_USEPOLLING=1 gesetzt lasse, dann geht der Parcel-Container auf 200% CPU (top in der Console) bzw. Vmmem meines 4 Cores/8 Threads-Systems auf 50%. (Ist allerdings schon ein ziemlich alter i7).
                                        • Ich hatte überlesen, dass man eine Instanz des Adapters erstellen muss. Der Adapter taucht ja in der Adapterliste auf. Als ich noch keine Instanz erstellt hatte, brach er beim Debuggen immer mit Exit Code 2 (INVALID_ADAPTER_CONFIG) ab.
                                        • Die installierte Instanz sollte aber gestoppt werden. Als sie lief, hatte ich den Eindruck, dass zwar beim Debuggen in VSCode mein bereits geänderter Adapter lief (anhand von console.log), aber im ioBroker-Log nur die Log-Einträge des ursprünglich generierten Adapters zu finden waren.
                                        • Zum direkten Debuggen von Typescript muss man sich an die launch.json halten, die UncleSam am Anfang dieses Threads gepostet hat. Hier wird die main.ts als "program" gesetzt. Allerdings musste ich in package.json "sourceMap" auf true stellen. Hatte es anfangs nur in der launch.json gesetzt - das hat bei mir nicht funktioniert. Die anderen hier geposteten launch.json-Beispiele beziehen sich auf JavaScript.
                                        • Beim Ausführen von create-adapter traten am Ende Fehler auf:

                                        [3/3] Compiling source files...
                                        npm ERR! code ELIFECYCLE
                                        npm ERR! errno 1
                                        npm ERR! iobroker.noox-test-4@0.0.1 build:parcel: `parcel build admin/src/index.tsx -d admin/build`
                                        npm ERR! Exit status 1
                                        npm ERR!
                                        npm ERR! Failed at the iobroker.noox-test-4@0.0.1 build:parcel script.
                                        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                                        
                                        npm ERR! A complete log of this run can be found in:
                                        npm ERR!     C:\Users\noox\AppData\Roaming\npm-cache\_logs\2020-12-31T14_36_44_078Z-debug.log
                                        npm ERR! code ELIFECYCLE
                                        npm ERR! errno 1
                                        npm ERR! iobroker.noox-test-4@0.0.1 build: `npm run build:ts && npm run build:parcel`
                                        npm ERR! Exit status 1
                                        npm ERR!
                                        npm ERR! Failed at the iobroker.noox-test-4@0.0.1 build script.
                                        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                                        
                                        npm ERR! A complete log of this run can be found in:
                                        npm ERR!     C:\Users\noox\AppData\Roaming\npm-cache\_logs\2020-12-31T14_36_44_116Z-debug.log
                                        
                                        All done! Have fun programming! ♥
                                        

                                        Ich nehme mal an, die kann man ignorieren. Ich hab die Befehle dann manuell ausgeführt. Also build:parcel bzw. npm run build:ts && npm run build:parcel. Dabei hat sich gezeigt, dass @sentry/browser fehlt. (vermutlich dieses Problem: https://github.com/ioBroker/create-adapter/issues/657). Hab es hinzugefügt, dann laufen auch diese Builds durch.

                                        oweitman created this issue in ioBroker/create-adapter

                                        closed missing package @sentry/browser #657

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

                                          @noox Danke für das Feedback.

                                          @noox sagte in VisualStudio Code und Devcontainer:

                                          Beim Ausführen von create-adapter traten am Ende Fehler auf

                                          Wenn ich das richtig interpretiere, ist das ein bekannter Fehler in adapter-react, dr bekannt ist.

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

                                            @UncleSam said in VisualStudio Code und Devcontainer:

                                            Wenn ich das richtig interpretiere, ist das ein bekannter Fehler in adapter-react, dr bekannt ist.

                                            Ja, denke ich auch. Ich dachte ich vermerke es hier, weil womöglich ein Neuling wie ich bei solchen Problemen länger sucht oder herumprobiert.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            760
                                            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