Hi Juan,
To create a systemctl service for ACE in a simple way, you can:
1.- Create a bash script (my_start_script.sh) where the mqsistart command is run with a user who is a member of the mqbrkrs group, something like this:
#!/bin/bash
#
# IBM App Connect Enterprise
#
MQSI_INSTAL_PATH="/opt/ibm/mqsi/latest/server/bin"
ACE_ADMIN_USER="adminuser"
INTEGRATION_NODE_NAME="NODE_NAME"
su - $ACE_ADMIN_USER -c "$MQSI_INSTAL_PATH/mqsistart $INTEGRATION_NODE_NAME"
2.- Create the unit configuration file with the ExecStart pointing to the script created previously:
[Unit]
Description=App Connect Enterprise
After=network.target
[Service]
ExecStart=/path_to_scripts_directory/my_start_script.sh
Type=oneshot
RemainAfterExit=yes
KillMode=none
LimitNOFILE=20480
LimitNPROC=4096
[Install]
WantedBy=multi-user.target
As an improvement, change the script to accept a parameter for the start/stop signals and then use the same script to set the ExecStop/ExecStart values in the unit configuration file.
If a single script is needed to start/stop multiple Integration Nodes, you can use template unit files to create multiple unit instances where the instance name (%i or %I) corresponds to the Integration Node name.
I hope you find this info useful.
Regards.