diff --git a/handlers/main.yml b/handlers/main.yml
index 944f2a5f79dba5734f99be4d045a0775e0548a34..0fef22d8e8a9224472db7b489b5565bd4176babb 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -2,9 +2,7 @@
 
 - name: start nextcloud docker
   docker_compose:
-    project_src: /home/docker/
-    files: nextcloud.yaml
-    project_name: nextcloud
+    project_src: /home/docker/nextcloud/
   async: 120
   poll: 10
   when: not ansible_check_mode
diff --git a/tasks/main.yml b/tasks/main.yml
index dc6b6934a4f32d2ec65f483e49a141897b445515..56be4879dcd5e5217e5a1d96af0bea4376fa1258 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,16 +1,32 @@
 ---
 
+- name: Create nextcloud Docker structure on server in /home/docker/nextcloud
+  file:
+    name: "/home/docker/nextcloud"
+    state: directory
+    owner: root
+    group: root
+    mode: '0755'
+
 ## Install Nextcloud docker
 - name: Install nextcloud docker
   template:
     src: nextcloud.yaml.j2
-    dest: /home/docker/nextcloud.yaml
+    dest: /home/docker/nextcloud/docker-compose.yaml
     owner: root
     group: root
     mode: '0400'
   notify:
     - start nextcloud docker
 
+- name: Add extra PHP configuration
+  template:
+    src: nextcloud-extra.ini.j2
+    dest: /home/docker/nextcloud/nextcloud-extra.ini
+    owner: root
+    group: root
+    mode: '0644'
+
 - name: add cron job for nextcloud cron.php
   cron:
     name: nextcloud cron.php
diff --git a/templates/nextcloud-extra.ini.j2 b/templates/nextcloud-extra.ini.j2
new file mode 100644
index 0000000000000000000000000000000000000000..7bde3213046743235b5a7a5bed98bebd210a5b4a
--- /dev/null
+++ b/templates/nextcloud-extra.ini.j2
@@ -0,0 +1,6 @@
+expose_php = Off
+{% if php_extra_conf is defined %}
+{% for var in php_extra_conf %}
+{{ var }}
+{% endfor %}
+{% endif %}