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

 
alt

Daniel Nashed

 

Domino on Apple Silicon Update

Daniel Nashed  16 September 2023 16:51:22

Domino isn't designed to run on ARM  emulations are getting better.
As posted before Domino on Windows ARM works quite well.

But some developers need a local Domino container for testing.

The current Docker Desktop and Rancher Desktop versions with Rosetta emulation works quite well.
The only problematic part is the JVM which doesn't work in an emulated Intel environment.

This also includes the Domino Install Anywhere installer, which is based on Java as well.


What you should not try to get working

Building the Domino container doesn't work well because Java is involved.
Running Java code doesn't work and the JVM needs to be disabled for Amgr and HTTP


The Domino disable JVM

Disabling the JVM needs two notes.ini parameters to be set:

HttpDisableJVM=1
EnableJavaAgents=0

After you disabled the JVM, you can't run any Java code, which includes all OSGI and also Traveler.
But beside that the Domino server works quite well.
An environment like this is only suitable for a local development environment.
You can't expect great performance because of the CPU emulation.


Build the image remotely or import the HCL container image

Building the image on Apple Silicon is very problematic. I got it running with some tweaks, but it is a moving target.
The best option is to remotely build the image or import it.



Recommended Setup

If you have another machine running an Intel CPU it would be a much better choice to run the Domino container on a remote machine.
This could be a Linux VM on another machine or a remotely hosted Linux machine.

I would run the Domino server native on Linux with a Docker or Podman server.
Usually you would operate it remotely by opening a SSH session.


Avoid remote access for Docker daemon

Docker uses a client server model. So you could in theory run the Docker daemon on the Linux box and access it remotely from a Docker client running on your Mac.
I would personally avoid that unless you are on very tight control of the network.

The connection would need to be secured by a VPN for example WireGuard or other technologies (https://www.wireguard.com/).

The following configuration should be used with extreme care!

https://docs.docker.com/config/daemon/remote-access/

Usually remote access to the Docker daemon is not needed and should be really avoided unless you know exactly what you do.


Links

    Archives


    • [HCL Domino]
    • [Domino on Linux]
    • [Nash!Com]
    • [Daniel Nashed]