diff --git a/handlers/main.yml b/handlers/main.yml
index 6b5aa5a339313ef55a2a8082eb88601f89da1d88..f2022f5288fc50bdfbd2a2de07ad8896322a22e4 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -1,5 +1,6 @@
 ---
-- name: restart gitlab
+- name: Restart gitlab
   ansible.builtin.command: gitlab-ctl reconfigure
   register: gitlab_restart
-  failed_when: 'gitlab_restart.rc != 0'
+  failed_when: gitlab_restart.rc != 0
+  changed_when: gitlab_restart.rc != 0
diff --git a/tasks/main.yml b/tasks/main.yml
index c4d8fa5d0d1571247776fc5f0688ade454b6ff08..2ff0ad9a792d6e4827cbe9dd7f3c1fb021b6f078 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -11,11 +11,13 @@
   when: gitlab_external_postgres
 
 - name: Check if GitLab configuration file already exists.
-  ansible.builtin.stat: path=/etc/gitlab/gitlab.rb
+  ansible.builtin.stat:
+    path: /etc/gitlab/gitlab.rb
   register: gitlab_config_file
 
 - name: Check if GitLab is already installed.
-  ansible.builtin.stat: path=/usr/bin/gitlab-ctl
+  ansible.builtin.stat:
+    path: /usr/bin/gitlab-ctl
   register: gitlab_file
 
 # Install GitLab and its dependencies.
@@ -24,12 +26,14 @@
     url: "{{ gitlab_repository_installation_script_url }}"
     dest: /tmp/gitlab_install_repository.sh
     validate_certs: "{{ gitlab_download_validate_certs }}"
-    mode: 0700
+    mode: '0700'
   when: not gitlab_file.stat.exists
 
 - name: Install GitLab repository
   ansible.builtin.command: bash /tmp/gitlab_install_repository.sh
   when: not gitlab_file.stat.exists
+  register: gitlab_install
+  changed_when: gitlab_install.rc != 0
 
 - name: Add GitLab apt signing key
   ansible.builtin.apt_key:
@@ -62,14 +66,14 @@
     dest: /etc/gitlab/gitlab.rb
     owner: root
     group: root
-    mode: 0600
-  notify: restart gitlab
+    mode: '0600'
+  notify: Restart gitlab
 
 - name: Copy gitlab-dump service
   ansible.builtin.template:
     src: gitlab_dump.service.j2
     dest: /etc/systemd/system/gitlab_dump.service
-    mode: 0644
+    mode: '0644'
   when: gitlab_use_borgbackup
 
 - name: Enable gitlab-dump service
@@ -114,7 +118,7 @@
       ansible.builtin.template:
         src: etc_apt_preferences.d_apt_postgresql_org_pub_repos_apt.pref.j2
         dest: /etc/apt/preferences.d/apt_postgresql_org_pub_repos_apt.pref
-        mode: 0644
+        mode: '0644'
 
     - name: PostgreSQL | Install PostgreSQL client tools
       ansible.builtin.apt:
@@ -129,7 +133,7 @@
         src: '/usr/bin/{{ item }}'
         dest: '/opt/gitlab/bin/{{ item }}'
         state: link
-        mode: 0777
+        mode: '0777'
       with_items:
         - pg_dump
         - psql
@@ -139,7 +143,7 @@
   ansible.builtin.copy:
     src: "{{ item }}"
     dest: "/etc/systemd/system/"
-    mode: 0644
+    mode: '0644'
   with_fileglob: "gitlab_registry_cleanup.*"
 
 - name: Enable registry cleanup timer
@@ -149,5 +153,6 @@
     state: started
     daemon-reload: true
 
-- import_tasks: plantuml.yml
+- name: Install PlantUML
+  ansible.builtin.import_tasks: plantuml.yml
   when: gitlab_enable_plantuml
diff --git a/tasks/plantuml.yml b/tasks/plantuml.yml
index 4c88a2de42c17491999309448f355b1984247b19..b07e99bd3e9dd4397ff1d85add4b80c4af58ac17 100644
--- a/tasks/plantuml.yml
+++ b/tasks/plantuml.yml
@@ -31,7 +31,7 @@
     update_cache: true
 
 - name: Start PlantUML docker container
-  ansible.builtin.docker_container:
+  community.docker.docker_container:
     name: plantuml
     image: plantuml/plantuml-server:tomcat
     state: started