Running midPoint with systemd

Last modified 07 Feb 2024 08:52 +01:00

This page describes the method how to set up midPoint server for systemd run control. This is the usual setup to start midPoint automatically after system boot on UNIX-like (Linux) systems.

This page describe the behaviour with static definition of the systemd service - example. To generate the systemd service customized to your environment you can use feature of

/opt/midpoint/bin/ generate

The following steps assume the midPoint installation in /opt/midpoint directory, owned (both directory and its content) as (previously created) user midpoint. The service will be started as user midpoint and will listen on default TCP 8080 port.

  1. Create a new file /etc/systemd/system/midpoint.service with the following content:

    Description=MidPoint Standalone Service
    ExecStart=/usr/bin/java -Xmx2048m -Dmidpoint.home=/opt/midpoint/var -jar /opt/midpoint/lib/midpoint.war

    Of course, -Xmx2048m needs to be modified for bigger deployments accordingly.

    ExecStart line for versions 4.6 and later is different, because the packaging was changed from WAR to JAR:

    ExecStart=/usr/bin/java -Xmx2048m -Dmidpoint.home=/opt/midpoint/var -jar /opt/midpoint/lib/midpoint.jar
  2. Run the following commands to enable midpoint service:

    sudo systemctl daemon-reload
    sudo systemctl enable midpoint
  3. Start midPoint as systemd service using the following command:

    sudo systemctl start midpoint
  4. You can monitor the startup in /opt/midpoint/var/log/midpoint.log (standard midPoint log) or in /var/log/syslog (the file name may vary; if systemd is used, /opt/midpoint/var/log/midpoint.out is not used.

  5. You can stop midPoint as systemd service using the following command:

    sudo systemctl stop midpoint
  6. To disable automatic midPoint startup/shutdown, use the following command:

    sudo systemctl disable midpoint

If you wish to customize JVM parameters, just modify ExecStart directive in the midpoint.service file and restart midPoint.

Systemd allows you to specify service dependencies. For example to specify that midPoint requires PostgreSQL database (running as systemd service on the same host), just uncomment the lines Requires and After. Systemd will start PostgreSQL before midPoint, and when PostgreSQL goes down, it will also automatically shutdown midPoint.

Was this page helpful?
Thanks for your feedback