diff --git a/tasks/main.yml b/tasks/main.yml index fd9a013..af9e752 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -15,6 +15,7 @@ - keycloak_conf - keycloak_providers - keycloak_providers_jar + - keycloak_systemd_unit block: - name: Install the keycloak systemd unit ansible.builtin.template: diff --git a/templates/keycloak.service.j2 b/templates/keycloak.service.j2 index 52c5e14..298cb86 100644 --- a/templates/keycloak.service.j2 +++ b/templates/keycloak.service.j2 @@ -1,3 +1,6 @@ +# +# Systemd unit file that manages Keycloak +# [Unit] Description=Keycloak Application Server, running with Quarkus After=syslog.target network.target @@ -12,6 +15,8 @@ Before=httpd.service Before=apache2.service {% endif %} {% endif %} +StartLimitIntervalSec=500 +StartLimitBurst=5 [Service] Environment=JAVA={{ keycloak_openjdk_bin }} @@ -22,9 +27,12 @@ Environment=JAVA_OPTS_APPEND="-Djgroups.bind_addr={{ keycloak_jgroups_multicast_ {% endif %} User={{ keycloak_user }} Group={{ keycloak_user }} +ExecStart={{ keycloak_runtime_home }}/bin/kc.sh start SuccessExitStatus=0 143 UMask=0027 -ExecStart={{ keycloak_runtime_home }}/bin/kc.sh start +RestartSec=10 +Restart=on-failure [Install] WantedBy=multi-user.target +