Assumes you have Alpine set up and running. I use a little VM so the DCA can have the privileges it wants and not interfere with anything else, but you might want to use Docker, etc.
The default installer failed, and when I got it working, the service would not stay up. This is what I did to get it going.
-
Copy the relevant installer URL from EKM's updates site.
-
Fetch it. It's a shell script with binaries appended, so can take a while, e.g.:
wget https://updates.ekmglobal.com/dist/DCA/Vanilla/Linux_amd64/DCA-6_20_2_30_b01_Setup_unix-amd64.sh
-
It comes with its own JRE, but this doesn't work. Install one with the package manager, which must be v11:
apk add openjdk11-jre-headless
-
Run the installer, informing it you have your own JRE, e.g.:
INSTALL4J_DISABLE_BUNDLED_JRE=true sh DCA-6_20_2_30_b01_Setup_unix-amd64.sh
-
Stop and disable the built-in service that is not adapted for OpenRC, and uses the s-s-d mode. This is because the service seems to die eventually and won't restart itself, thus you're left without any monitoring.
Check if it's running:
rc-status -s
Stop it if so:
rc-service i2emfw stop
See if it has a runlevel set:
rc-update show
If listed, remove it, e.g.:
rc-update del i2emfw default
-
Save this service definition to
/etc/init.d/i2emfw-superv
, and make it executable:#!/sbin/openrc-run name=$RC_SVCNAME description='Wrapper to supervise i2emfw, thus prevent silent failures.' # supervisor deliberately defined here, because makes no sense to disable with conf supervisor=supervise-daemon command=/etc/init.d/i2emfw command_args_foreground=start-launchd depend() { need net }
-
Enable the service (default runlevel):
rc-update add i2emfw-superv
-
Start the service:
rc-service i2emfw-superv start
Good luck.