aelassas / wexflow

.NET Workflow Engine and Automation Platform
https://wexflow.github.io
MIT License
554 stars 159 forks source link

Docker installation fails on Windows 11, WSL 2 #60

Closed npitsec closed 1 year ago

npitsec commented 1 year ago

I have tried the both linux zip and the windows .net core zip. Neither works for me. Both lead to the same error shown below.

When running "docker compose up" I get the following: $ sudo docker compose up [+] Running 2/2 ✔ Container wexflow-wexflow-1 Created 0.2s ✔ Container wexflow-wexflow-backend-1 Created 0.2s Attaching to wexflow-wexflow-1, wexflow-wexflow-backend-1 wexflow-wexflow-backend-1 | Starting up http-server, serving ./ wexflow-wexflow-backend-1 | Available on: wexflow-wexflow-backend-1 | http://127.0.0.1:8011 wexflow-wexflow-backend-1 | http://172.22.0.3:8011 wexflow-wexflow-backend-1 | Hit CTRL-C to stop the server wexflow-wexflow-1 | 2023-08-18 02:45:57,837 INFO [1] - wexflow-wexflow-1 | 2023-08-18 02:45:57,875 INFO [1] - Starting Wexflow Engine wexflow-wexflow-1 | Unhandled exception. wexflow-wexflow-1 | System.IO.FileNotFoundException: Could not find file '/opt/wexflow/Wexflow.Server/C:\Wexflow-netcore\Wexflow.xml'. wexflow-wexflow-1 | File name: '/opt/wexflow/Wexflow.Server/C:\Wexflow-netcore\Wexflow.xml' wexflow-wexflow-1 | at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError) wexflow-wexflow-1 | at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode, Func4 createOpenException) wexflow-wexflow-1 | at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Func4 createOpenException) wexflow-wexflow-1 | at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode) wexflow-wexflow-1 | at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) wexflow-wexflow-1 | at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy) wexflow-wexflow-1 | at System.Xml.XmlTextReaderImpl.FinishInitUriString() wexflow-wexflow-1 | at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext) wexflow-wexflow-1 | at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options) wexflow-wexflow-1 | at Wexflow.Core.WexflowEngine.LoadSettings() in //src/netcore/Wexflow.Core/WexflowEngine.cs:line 246 wexflow-wexflow-1 | at Wexflow.Core.WexflowEngine..ctor(String settingsFile, LogLevel logLevel, Boolean enableWorkflowsHotFolder, String superAdminUsername, Boolean enableEmailNotifications, String smtpHost, Int32 smtpPort, Boolean smtpEnableSsl, String smtpUser, String smtpPassword, String smtpFrom) in //src/netcore/Wexflow.Core/WexflowEngine.cs:line 188 wexflow-wexflow-1 | at Wexflow.Server.WexflowServer.Main() wexflow-wexflow-1 exited with code 139

aelassas commented 1 year ago

Can you try the following:

  1. Download wexflow-7.4-linux-netcore.zip
  2. Unzip wexflow-7.4-linux-netcore.zip (wexflow folder will be created)
  3. Make sure you have /opt/wexflow/Wexflow/Wexflow.xml setting value for WexflowSettingsFile in wexflow/Wexflow.Server/appsettings.json
  4. Download Dockerfile and docker-compose.yml files and copy them on your current folder (next to wexflow folder)
  5. Run the following commands:
    sudo docker compose down --volumes
    sudo docker compose build --no-cache
    sudo docker compose up

I updated Dockerfile. So make sure you use the latest one.

aelassas commented 1 year ago

@npitsec I fixed an issue in Dockerfile and tested on Docker Desktop Windows 11, WSL 2. Everything works fine.

Follow the instructions on Docker - wiki and use the latest Dockerfile and it should work.

Let me know if it's working so I can close this issue.