Docker Image Available

We’ve released a preview docker image if you’d like to just pull and get running with PSU. It’s currently running the 1.2.1 nightly build.

https://hub.docker.com/r/ironmansoftware/universal

4 Likes

When will this image be updated with new versions?
I see that 1.2.2 i9s the newest :slight_smile:

We are working on getting nightly builds released as preview but were not there yet. I can publish another preview today. That said, not much has changed since 1.2.2

Would we see a Docker image built on top of Windows Server Nano or Core? I’m interested to use Docker, but I do also need the Active Directory module that currently cannot run just PWSH

I don’t see why not. We are basing our image off the PowerShell and they have Nano server and core images. I’ll add it to our backlog.

1 Like

I have been trying to get the docker image to run properly, but I’m encountering lots of errors.
I am using the latest image and experience this.

  1. Dashboards do not launch, even with just the example content provided. WHen going to view link it displays a red triangle with exclamation mark and says “one or more errors encountered”
  2. Adding api’s do not work, it just results in a 404

I have checked the container log and there the following log messages appear,

Grpc.Core.RpcException: Status(StatusCode=Unavailable, Detail=“failed to connect to all addresses”),
at Universal.Server.Services.DashboardProxy.GetDashboard() in C:\src\universal\src\Universal.Server\Services\DashboardProxy.cs:line 204,
Failed to get dashboard

THis is refering to a windows path? this seems strange to me, shouldn’t this point to linux style paths ? Maybe a reference to a file that is not there?

The path is due to the builder. It’s referencing the original source files.

That said, I’m seeing this as well. I’ll look into it today.

We had an issue with PSU that was causing APIs\Dashboards to exit prematurely and that’s what is causing this. I’ll be releasing the 1.2.3 version tomorrow and it will include a new container image with this fix.

Note that the new docker image resolves this issue.

Hi @adam please see the following commands and output:

[root@localhost ~]# docker run -it -p 5000:5000 ironmansoftware/universal:2.3.2-ubunutu-18.04-ps-7.1.4
Unhandled exception. System.UnauthorizedAccessException: Access to the path ‘/proc/1/map_files’ is denied.
—> System.IO.IOException: Operation not permitted
— End of inner exception stack trace —
at System.IO.Enumeration.FileSystemEnumerator1.FindNextEntry(Byte* entryBufferPtr, Int32 bufferLength) at System.IO.Enumeration.FileSystemEnumerator1.MoveNext()
at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
at System.IO.FileSystemWatcher.RunningInstance.AddDirectoryWatchUnlocked(WatchedDirectory parent, String directoryName)
at System.IO.FileSystemWatcher.RunningInstance…ctor(FileSystemWatcher watcher, SafeFileHandle inotifyHandle, String directoryPath, Boolean includeSubdirectories, NotifyFilters notifyFilters, CancellationToken cancellationToken)
at System.IO.FileSystemWatcher.StartRaisingEvents()
at System.IO.FileSystemWatcher.StartRaisingEventsIfNotDisposed()
at System.IO.FileSystemWatcher.set_EnableRaisingEvents(Boolean value)
at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.TryEnableFileSystemWatcher()
at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.CreateFileChangeToken(String filter)
at Microsoft.Extensions.FileProviders.PhysicalFileProvider.Watch(String filter)
at Microsoft.Extensions.Configuration.FileConfigurationProvider.<.ctor>b__1_0()
at Microsoft.Extensions.Primitives.ChangeToken.OnChange(Func`1 changeTokenProducer, Action changeTokenConsumer)
at Microsoft.Extensions.Configuration.FileConfigurationProvider…ctor(FileConfigurationSource source)
at Microsoft.Extensions.Configuration.Json.JsonConfigurationSource.Build(IConfigurationBuilder builder)
at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
at Microsoft.Extensions.Hosting.HostBuilder.BuildAppConfiguration()
at Microsoft.Extensions.Hosting.HostBuilder.Build()
at Universal.Server.Program.Main(String[] args) in D:\a\universal\universal\src\Universal.Server\Program.cs:line 30
[root@localhost ~]#

Can you let me know what platform your running this from? I just tried this on my windows host 11 running docker and I didn’t see this error.

PS C:\Users\adamr>  docker run -it -p 5000:5000 ironmansoftware/universal:2.3.2-ubunutu-18.04-ps-7.1.4
Unable to find image 'ironmansoftware/universal:2.3.2-ubunutu-18.04-ps-7.1.4' locally
2.3.2-ubunutu-18.04-ps-7.1.4: Pulling from ironmansoftware/universal
Digest: sha256:85ad7dd79678464b4a854a1c83453203f0673ef6a46de94f175b7252e0b44536
Status: Downloaded newer image for ironmansoftware/universal:2.3.2-ubunutu-18.04-ps-7.1.4
2021-10-11 02:18:55 [INFO]  (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2021-10-11 02:18:55 [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
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {96c70dc1-a31a-49c6-9146-da91c1bd5787} may be persisted to storage in unencrypted form.
2021-10-11 02:18:55 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server c868cabc16c9:1:94f90c57 successfully announced in 207.6486 ms
2021-10-11 02:18:55 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server c868cabc16c9:1:94f90c57 is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2021-10-11 02:18:55 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server c868cabc16c9:1:94f90c57 all the dispatchers started
2021-10-11 02:18:58 [INFO]  (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2021-10-11 02:18:58 [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-10-11 02:18:58 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server c868cabc16c9:1:70a4d08d successfully announced in 0.0962 ms
2021-10-11 02:18:58 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server c868cabc16c9:1:70a4d08d is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2021-10-11 02:18:58 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server c868cabc16c9:1:70a4d08d all the dispatchers started
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:5000
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: /
info: UniversalAutomation.GroomService[0]
      Starting groom job.
info: UniversalAutomation.GroomService[0]
      Groom date is: 9/11/2021 2:19:10 PM
info: UniversalAutomation.GroomService[0]
      Old jobs: 0
info: UniversalAutomation.GroomService[0]
      Finished groom job.

hi @adam , i am trying to run the linux version on redhat 7 server

I opened a bug for this. I have no idea why the RedHat host would behave differently but I’ll have to set one up to try to debug it.