Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

 
alt

Daniel Nashed

 

WSL is kind of cool for Domino servers on Linux - after solving a WSL static IP challenge

Daniel Nashed  11 December 2021 20:57:35
Networking challenge solved

The more I look into WSL for Domino, the more I like it -- even there are some limitations in WSL networking I had to work-around:
WSL supports mapping for the "localhost" name. But this is kind of limited to some protocols like HTTP.
It does not work for Domino NRPC and I had issues when for example HTTPS was also used locally by another application.

Every time you restart WSL a different network range is assigned. This makes it difficult to have a static IP for your Domino server inside WSL.

But with help from the WSL community, I wrote a small helper program.
The code needs to be compiled with a 64bit C++ compiler. But I will find a way to share it - probably the start script gets a WSL section anyway.

With this work-around you can directly access the Domino server inside the WSL container (or Docker container inside WSL) without re-configuring the mapping on every restart.
Here is the full story behind it and my feature request for WSL
--> https://github.com/microsoft/WSL/issues/7820

Alias IPs for multiple servers on WSL


It is also interesting that WSL containers share the same network interface and IP aliases.
For running multiple servers it would be cool to have separate IPs for each WSL container -- this isn't possible today.
But you can assign multiple alias IPs and bind the ports for each server. Like partitioned Domino servers but running in different WSL "containers".


Running Domino console on Linux from Windows command line

WSL has great Linux integration with Windows! So beside networking and file sharing you could run commands directly into the Linux WSL container.

You can start a Domino console window directly from your Windows command line (see example below).
And with the Domino container script, you could do the same for a Docker container running Domino "wsl sudo domino_container console".

Because Domino uses a separate "notes" user, you need to type in the password for have "sudo" permission -- unless your notes user is your primary user on your WSL Linux.

More documentation - and diagrams

It is probably time to start drawing slides and diagrams how those scripts are hook together. For example running a Domino console inside the container has the following flow and main components:
1. wsl command line --> 2. domino_container script inside the WSL container --> 3. docker exec --> 4. domino start script inside the container --> 5. input/output redirection + Domino server binary.
All the different scripts glue together. And it sounds like WSL needs a separate documentation section in the start script documentation as well ..

-- Daniel



Example:

wsl.exe sudo domino console

Using Domino config File [/etc/sysconfig/rc_domino_config]

--- Live Console for notes ---

To close console, always type 'close' or 'stop'.


[002409:000002-00007FB64FF52740] 12/11/2021 20:00:00   HTTP Server: Java Virtual Machine loaded
[002409:000002-00007FB64FF52740] 12/11/2021 20:00:00   HTTP Server: ACME HTTP-01 Extension loaded - CertMgr Server: [my-domino-server/Acme]


Links

    Archives


    • [IBM Lotus Domino]
    • [Domino on Linux]
    • [Nash!Com]
    • [Daniel Nashed]