homebridge / homebridge-config-ui-x

The Homebridge UI. Monitor, configure and backup Homebridge from a browser.
https://homebridge.io
MIT License
2.59k stars 369 forks source link

Node update not supported - Alpine Linux #745

Closed mbierman closed 4 years ago

mbierman commented 4 years ago

Describe The Bug: The node update failed when I tried to update to 18.1

/homebridge # sudo hb-service update-node
ℹ Updating Node.js from v12.18.0 to v12.18.1...
✖ Your version of Linux is not supported by this command.
/homebridge # 

To Reproduce: Run the command sudo hb-service update-node

Expected behavior: node update will complete

Logs:

Show the Homebridge / Homebridge Config UI X logs here.

Homebridge Config:

    {
        "bridge": {
            "name": "Homebridge Synology",
            "username":"*****",
            "port": *****
            "pin": "*****"
        },
        "accessories": [
            {
                "accessory": "PowerlossIFTTTNotifier",
                "name": "PowerlossIFTTTNotifier",
                "IFTTTkey":"*****",
                "IFTTTservice": "*****",
                "IFTTTvalue2": "Homebridge started at",
                "IFTTTvalue3": false
            },
            {
                "accessory": "Synology",
                "name": "Pigpen",
                "ip": "*****",
                "mac": "*****",
                "port": "5001",
                "secure": true,
                "account":"*****",
                "password":"*****",
                "version": 6,
                "timeout": *****
                "disabled": [
                    ""
                ],
                "doPolling": true,
                "pollingInterval": 120
            },
            {
                "accessory": "neurio",
                "name": "neurio",
                "location": "*****",
                "username": "*****",
                "password":"*****",
                "options": {
                    "ttl": 30,
                    "verboseP": false
                }
            },
            {
                "name": "Garage Door",
                "username": "*****",
                "password": "*****",
                "accessory": "Chamberlain"
            },
            {                   
                "accessory":  "HTTP-SWITCH",
                "name": "Flo",
                "switchType": "stateful",
                "pullInterval": 5000,
                "debug": false,
                "statusPattern" : "true",
                "onUrl": {
                    "url":"https://...",
                    "method": "GET"
                },
                "offUrl": {
                    "url":"https://...",
                    "method": "GET"
                },
                "statusUrl" : {
                    "url": "https://...",
                    "method": "GET",
                    "headers": {
                        "Accept": "application/json",
                        "Authorization" : "Basic ****"},
                    }
                }
            },
            {
                "accessory": "AutomationCalendar",
                "name": "AutomationCalendar",
                "latitude":   ***,
                "longitude":   ***,
            },
            {
                "accessory": "Schedule",
                "name": "Hourly",
                "interval": 60
            }
        ],
        "platforms": [
            {
                "name": "Config",
                "port": 8581,
                "auth": "form",
                "theme": "blue",
                "tempUnits": "f",
                "lang": "auto",
                "sessionTimeout": *****
                "log": {
                    "method": "null"
                },
                "accessoryControl": {
                    "debug": true
                },              
                "platform": "config"
            },
            {
                "platform": "Nest",
                "name": "Nest",
                "access_token":"****",
            },
            {
                "platform": "TuyaWebPlatform",
                "name": "Smart Life",
                "options": {
                    "username":"*****",
                    "password":"*****",
                    "countryCode": "1",
                    "platform": "smart_life",
                    "pollingInterval": 120
                }
            },
            {
                "platform": "WeatherPlus",
                "units": "us",
                "interval": 5,
                "stations": [
                    {
                        "nameNow": "Now",
                        "service": "openweathermap",
                        "key":"******",
                        "locationGeo": [
                            *****
                            -121.96
                        ],
                        "locationCity": "*****",
                        "language" : "en",
                        "compatibility": "both",
                        "forecast": [
                            0
                        ],
                        "conditionCategory": "detailed",
                        "now": true,
                        "extraHumidity": false,
                        "hidden": [
                            "Air Pressure",
                            "Observation Station",
                            "Observation Time",
                            "Snow"
                        ],
                        "tresholdCloudCover": 30,
                        "tresholdUvIndex": 4,
                        "tresholdWindSpeed": 10
                    }           
                ]
            }
        ]
    }

Screenshots:

Environment:

oznu commented 4 years ago

Thanks for testing this.

Alpine Linux is not supported - Node.js does not provide pre-built binaries for this platform.

Alpine uses MUSL-libc whereas the binaries provide by Node.js require GLIBC.

The update correctly identified your platform as not supported by this feature 😄

I'll have an updated Docker image with 12.18.1 up tomorrow - the binaries are still cross compiling...

mbierman commented 4 years ago

o.k. no problem. Maybe the docs can be updated a bit to clarify that this bistro isn't supported.

oznu commented 4 years ago

Next release will detect Alpine / Docker and tell you why:

image

mbierman commented 4 years ago

Awesome. Thanks, @oznu.