Updating the Node.js via Docker

Dear All

Hello and good morning. I am trying to install NODE RED onto the Wago device via docker. The installation was successful. However, I’ve got an error saying “Using an Unsupported version of Node.js You should upgrade to the latest Node.js LTS release”.

I do not know how to do this via docker and I request for help with the same. Looking forward to hearing from you and thanks in advance.

What docker image are you using ? Can you give us the full command line that you use to deploy the container ?

1 Like

I am new to the docker but yet I can share the following details

You are using the “rpi-v8” tag. This will point to a specific version of the image which seems to be deprecated.
https://github.com/node-red/node-red-docker/issues/130

You should you the normal image tag (or maybe the minimal version).
Take a look to the documentation in Docker hub, or see if latest tag have a arm v7 version in the tag tab. Now a lot of images will auto-detect the architecture used. It will use the arm32v7 image automatically.
More information here :
https://hub.docker.com/r/nodered/node-red/
https://nodered.org/docs/getting-started/docker (See “Image variations” chapter)
Don’t forget to remove your old image and container otherwise you will soon reach out the internal flash limits !

Here is what I’ve used : docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered --security-opt=seccomp=unconfined nodered/node-red

(I wasn’t familiar with the seccomp issue in 3.0 version : Docker container exits immediately - #6 by RBSI)

Consider using --log-opt max-size=10m --log-opt max-file=5 when calling the container to avoid a failure cause by too much log https://www.wago.community/t/node-red-stops-responding-on-cc100-after-10-12-hours/190

4 Likes

@jj11223344, any news ?

Hello and I am sorry. I was away for few days and lost access to my account in here. Thank you for your suggestions and it did work. I’ve just tried it yesterday. I am now trying to fix issues with eCOCKPIT not installing and eRUNTIME not showing up.

I don’t know but somehow after an update my eCOKCPIT stopped working with the following message :

System.InvalidOperationException: GetExportedValue cannot be called before prerequisite import ‘Wago.Eng.Module.CodesysProgramming.ProjectView.Commands.AddItemCommandsProvider…ctor (Parameter=“codesysComponentService”, ContractName=“Wago.Frame.Services.Codesys.ICodesysComponentService”)’ has been set.
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.EnsureGettable()
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.GetExportedValue(ExportDefinition definition)
at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.GetValue(Export innerExport)
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.<>c__DisplayClass8_0.b__1()
at System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.Cast(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastSingleExportToImportType(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToSingleImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportingItem item, Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportDefinition definition, IEnumerable1 exports) at System.ComponentModel.Composition.Hosting.ImportEngine.PartManager.TrySetImport(ImportDefinition import, Export[] exports) at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportSubset(PartManager partManager, IEnumerable1 imports, AtomicComposition atomicComposition)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportsStateMachine(PartManager partManager, ComposablePart part)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImports(PartManager partManager, ComposablePart part, Boolean shouldTrackImports)
at System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImports(ComposablePart part)
at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.GetValue(Export innerExport)
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.<>c__DisplayClass8_0.b__1()
at System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.Cast(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastSingleExportToImportType(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToSingleImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportingItem item, Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportDefinition definition, IEnumerable1 exports) at System.ComponentModel.Composition.Hosting.ImportEngine.PartManager.TrySetImport(ImportDefinition import, Export[] exports) at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportSubset(PartManager partManager, IEnumerable1 imports, AtomicComposition atomicComposition)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportsStateMachine(PartManager partManager, ComposablePart part)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImports(PartManager partManager, ComposablePart part, Boolean shouldTrackImports)
at System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImports(ComposablePart part)
at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.GetValue(Export innerExport)
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.<>c__DisplayClass8_0.b__1()
at System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.Cast(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastSingleExportToImportType(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToSingleImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportingItem item, Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportDefinition definition, IEnumerable1 exports) at System.ComponentModel.Composition.Hosting.ImportEngine.PartManager.TrySetImport(ImportDefinition import, Export[] exports) at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportSubset(PartManager partManager, IEnumerable1 imports, AtomicComposition atomicComposition)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportsStateMachine(PartManager partManager, ComposablePart part)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImports(PartManager partManager, ComposablePart part, Boolean shouldTrackImports)
at System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImports(ComposablePart part)
at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.GetValue(Export innerExport)
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.<>c__DisplayClass8_0.b__1()
at System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.Cast(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastSingleExportToImportType(Type type, Export export)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToCollectionImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ImportingItem.CastExportsToImportType(Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportingItem item, Export exports)
at System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.SetImport(ImportDefinition definition, IEnumerable1 exports) at System.ComponentModel.Composition.Hosting.ImportEngine.PartManager.TrySetImport(ImportDefinition import, Export[] exports) at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportSubset(PartManager partManager, IEnumerable1 imports, AtomicComposition atomicComposition)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportsStateMachine(PartManager partManager, ComposablePart part)
at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImports(PartManager partManager, ComposablePart part, Boolean shouldTrackImports)
at System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImports(ComposablePart part)
at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.GetValue(Export innerExport)
at Wago.App.CoreLib.CoreUi.Composition.MEFedMVVMCatalogExportProvider.<>c__DisplayClass8_0.b__1()
at System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore()
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export)
at System.ComponentModel.Composition.ExportServices.<>c__DisplayClass12_01.<CreateStronglyTypedLazyOfT>b__1() at System.Lazy1.CreateValue()
at System.Lazy1.LazyInitValue() at System.Lazy1.get_Value()
at Wago.Eng.CoreLib.eCockpitUi.Commands.CommandManager.Initialize()
at Wago.Eng.Application.ApplicationBootstrapper.InitializeShell()
at Microsoft.Practices.Prism.MefExtensions.MefBootstrapper.Run(Boolean runWithDefaultConfiguration)
at Wago.eCOCKPIT.Framework.Prism.MefExtensions.MefBootstrapperWithStartup.RunWithStartup(Boolean runWithDefaultConfiguration)
at Wago.Eng.Application.ApplicationBootstrapper.RunWithStartup(Boolean runWithDefaultConfiguration)
at Wago.eCOCKPIT.Framework.Prism.MefExtensions.MefBootstrapperWithStartup.Run(Boolean runWithDefaultConfiguration)
at Wago.Eng.Application.AppStarter.#=zbSSServZPSnk()
at Wago.Eng.Application.AppStarter.StartUp()
at Wago.Eng.Application.App.#=zVJnmOe$k1dH46aASbw==.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)