Javinizer
Javinizer copied to clipboard
Add arm docker images
Current Behavior
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
I pushed an experimental image.
Can you try using tag: jvlflame/javinizer:latest-arm64v8
https://hub.docker.com/layers/jvlflame/javinizer/latest-arm64v8/images/sha256-5ab3c45f246f9c533488d1d104932843f4d9b06279d180e2f6ad26dfba4f52b6?context=repo
I pushed an experimental image.
Can you try using tag:
jvlflame/javinizer:latest-arm64v8
https://hub.docker.com/layers/jvlflame/javinizer/latest-arm64v8/images/sha256-5ab3c45f246f9c533488d1d104932843f4d9b06279d180e2f6ad26dfba4f52b6?context=repo
➜ ~ docker run --name javinizer -p 8600:8600 -d jvlflame/javinizer:latest-arm64v8
7ae7e26a0df1a49e8d3d5db4c23eabb9a8e419d89ae0d37b0ccd183ff2bf98ff
➜ ~ docker logs javinizer
/docker-entrypoint-arm64v8.sh: line 5: /home/Universal/Universal.Server: cannot execute binary file: Exec format error
Ok, I need to add the ARM64 binary for PowerShell Universal...
I pushed a new version to the same tag jvlflame/javinizer:latest-arm64v8
. Can you clear your docker cache and try it again?
I had to bump PoweShell Universal v1.5.13 => v2.1.2 to use the ARM64 binary. I tested the Windows version of v2.1.2 and it seems to be compatible but it throws out random errors (which should not affect functionality).
It ran successfully, but the dashboard could not be opened
➜ ~ docker logs javinizer
2021-07-13 07:35:43 [INFO] (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2021-07-13 07:35:43 [INFO] (Hangfire.BackgroundJobServer) Using the following options for Hangfire Server:
Worker count: 20
Listening queues: 'default'
Shutdown timeout: 00:00:15
Schedule polling interval: 00:00:15
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {673305cc-e109-4e6e-83e3-07953cb2e42e} may be persisted to storage in unencrypted form.
2021-07-13 07:35:43 [INFO] (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:e9adddc0 successfully announced in 117.8975 ms
2021-07-13 07:35:43 [INFO] (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:e9adddc0 is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2021-07-13 07:35:43 [INFO] (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:e9adddc0 all the dispatchers started
2021-07-13 07:35:45 [INFO] (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2021-07-13 07:35:45 [INFO] (Hangfire.BackgroundJobServer) Using the following options for Hangfire Server:
Worker count: 20
Listening queues: 'default'
Shutdown timeout: 00:00:15
Schedule polling interval: 00:00:15
2021-07-13 07:35:45 [INFO] (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:1806d728 successfully announced in 0.1457 ms
2021-07-13 07:35:45 [INFO] (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:1806d728 is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2021-07-13 07:35:45 [INFO] (Hangfire.Server.BackgroundServerProcess) Server cdec471270b0:7:1806d728 all the dispatchers started
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://[::]:8600
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: /home
info: UniversalAutomation.GroomService[0]
Starting groom job.
info: UniversalAutomation.GroomService[0]
Groom date is: 06/13/2021 07:36:00
info: UniversalAutomation.GroomService[0]
Old jobs: 0
info: UniversalAutomation.GroomService[0]
Finished groom job.
info: Universal.Server.UniversalDashboardStartup[0]
/
info: Universal.Server.UniversalDashboardStartup[0]
/index.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
/home/Universal/UniversalDashboard/Frameworks/v3/index.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
application/javascript
info: Universal.Server.UniversalDashboardStartup[0]
/favicon.ico
info: Universal.Server.UniversalDashboardStartup[0]
/home/Universal/UniversalDashboard/Frameworks/v3/favicon.ico
info: Universal.Server.UniversalDashboardStartup[0]
image/x-icon
info: Universal.Server.UniversalDashboardStartup[0]
/vendors-ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
/home/Universal/UniversalDashboard/Frameworks/v3/vendors-ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
application/javascript
info: Universal.Server.UniversalDashboardStartup[0]
/ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
/home/Universal/UniversalDashboard/Frameworks/v3/ud-icon.1bf4f185c1b3da92c005.bundle.js
info: Universal.Server.UniversalDashboardStartup[0]
application/javascript
Did you try manually removing the not-running
from the url? I think when I tried it failed to auto refresh and I had to manually navigate to http://localhost:8600/
.
Otherwise, can you go to http://localhost:8600/admin
and login with:
username: admin
password: 1
And navigate to the dashboard on the left sidebar and check if it is running?
Manual deletion will refresh automatically, Admin can go in, Unable to launch dashboard
file: No such file or directory
at Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives)
at Grpc.Core.Internal.NativeExtension.LoadUnmanagedLibrary()
at Grpc.Core.Internal.NativeExtension.LoadNativeMethods()
at Grpc.Core.Internal.NativeExtension..ctor()
at Grpc.Core.Internal.NativeExtension.Get()
at Grpc.Core.Internal.NativeMethods.Get()
at Grpc.Core.GrpcEnvironment.GrpcNativeInit()
at Grpc.Core.GrpcEnvironment..ctor()
at Grpc.Core.GrpcEnvironment.AddRef()
at Grpc.Core.Server..ctor(IEnumerable`1 options)
at Universal.Server.Services.DashboardProxy.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardProxy.cs:line 94
at Universal.Server.Services.DashboardManager.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardManager.cs:line 111
at UniversalAutomation.DashboardController.Start(Int64 id) in D:\a\universal\universal\src\Universal.Server\Controllers\DashboardController.cs:line 171
at lambda_method1536(Closure , Object , Object[] )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Universal.Server.Middleware.RoutingMiddleware.Invoke(HttpContext httpContext, IPolicyEvaluator policyEvaluator) in D:\a\universal\universal\src\Universal.Server\Middleware\RoutingMiddleware.cs:line 113
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at AspNetCoreRateLimit.RateLimitMiddleware`1.Invoke(HttpContext context) in D:\a\universal\universal\src\AspNetCoreRateLimit\Middleware\RateLimitMiddleware.cs:line 109
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
warn: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[4]
No exception handler was found, rethrowing original exception.
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HMA5URELTMB9", Request id "0HMA5URELTMB9:00000002": An unhandled exception was thrown by the application.
System.IO.IOException: Error loading native library "/home/Universal/libgrpc_csharp_ext.x64.so". /home/Universal/libgrpc_csharp_ext.x64.so: cannot open shared object file: No such file or directory
at Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives)
at Grpc.Core.Internal.NativeExtension.LoadUnmanagedLibrary()
at Grpc.Core.Internal.NativeExtension.LoadNativeMethods()
at Grpc.Core.Internal.NativeExtension..ctor()
at Grpc.Core.Internal.NativeExtension.Get()
at Grpc.Core.Internal.NativeMethods.Get()
at Grpc.Core.GrpcEnvironment.GrpcNativeInit()
at Grpc.Core.GrpcEnvironment..ctor()
at Grpc.Core.GrpcEnvironment.AddRef()
at Grpc.Core.Server..ctor(IEnumerable`1 options)
at Universal.Server.Services.DashboardProxy.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardProxy.cs:line 94
at Universal.Server.Services.DashboardManager.Start(Dashboard dashboard) in D:\a\universal\universal\src\Universal.Server\Services\DashboardManager.cs:line 111
at UniversalAutomation.DashboardController.Start(Int64 id) in D:\a\universal\universal\src\Universal.Server\Controllers\DashboardController.cs:line 171
at lambda_method1536(Closure , Object , Object[] )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Universal.Server.Middleware.RoutingMiddleware.Invoke(HttpContext httpContext, IPolicyEvaluator policyEvaluator) in D:\a\universal\universal\src\Universal.Server\Middleware\RoutingMiddleware.cs:line 113
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at AspNetCoreRateLimit.RateLimitMiddleware`1.Invoke(HttpContext context) in D:\a\universal\universal\src\AspNetCoreRateLimit\Middleware\RateLimitMiddleware.cs:line 109
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.HandleException(HttpContext context, ExceptionDispatchInfo edi)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
If you click the details
button:
Do you see the code here?
The dashboard still won't open
If you edit the dashboard, what options do you have?
It seems like your settings might be corrupted on that dashboard since you're getting an error on the settings.
Can you try copying all the code in the Code Editor
section, create a new dashboard, and then copy it in? Once it's deployed, you can access it by http://[IP]:[PORT]/dashboard
.
I don't have an arm64 device to test it myself unfortunately. It's possible that the PowerShell Universal application is still buggy on arm64 since it was just released recently for the platform.
Any luck on this?
I did a bit of troubleshooting but I'm not quite sure what the problem is...
I think it might be a bug with the PowerShell universal application, since the arm64 version is still new. I will keep an eye out for updates from them, but for now I have to just recommend to host the image on a windows/linux platform.
OK, thank you. I use windows now. It can work well