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 header with binaries appended, so can take a while, e.g.:
wget https://updates.ekmglobal.com/dist/DCA/Vanilla/Linux_amd64/DCA-6_20_2_31_b01_Setup_unix-amd64.sh
-
It comes with its own JRE, but it doesn't work. Install the one from the package manager, which must be v11 and not headless due to a font dependency:
apk add openjdk11-jre
-
Run the installer, informing it you have your own JRE, e.g.:
INSTALL4J_DISABLE_BUNDLED_JRE=true sh DCA-6_20_2_31_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 (explicitly as
rc-statusmay not list it):rc-service i2emfw status
- 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
- Check if it's running (explicitly as
-
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 }
The
start-launchdargument invokes foreground mode in their bundled service control script, present in its lastcase. -
Enable the service (
defaultrunlevel):rc-update add i2emfw-superv
-
Start the service:
rc-service i2emfw-superv start
Good luck.