summaryrefslogtreecommitdiff
path: root/roles/apps/nextcloud/tasks
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2020-05-24 19:55:50 +0200
committerChristian Pointner <equinox@spreadspace.org>2020-05-24 20:06:27 +0200
commite758dcb05cd4d2d965205d7f8e6a4bf3d6630163 (patch)
treec2602fb431a7840b0fd28d40ce672192d1524439 /roles/apps/nextcloud/tasks
parentcustom image support for collabora code (diff)
add support for nextcloud custom images
Diffstat (limited to 'roles/apps/nextcloud/tasks')
-rw-r--r--roles/apps/nextcloud/tasks/custom-image.yml27
-rw-r--r--roles/apps/nextcloud/tasks/main.yml7
2 files changed, 34 insertions, 0 deletions
diff --git a/roles/apps/nextcloud/tasks/custom-image.yml b/roles/apps/nextcloud/tasks/custom-image.yml
new file mode 100644
index 00000000..23454c80
--- /dev/null
+++ b/roles/apps/nextcloud/tasks/custom-image.yml
@@ -0,0 +1,27 @@
+---
+- name: create build directory for custom image
+ file:
+ path: "{{ nextcloud_base_path }}/{{ item.key }}/build"
+ state: directory
+
+- name: generate Dockerfile for custom image
+ copy:
+ content: |
+ FROM {{ item.value.custom_image.from | default('nextcloud:' + item.value.version) }}
+ {{ item.value.custom_image.dockerfile }}
+ dest: "{{ nextcloud_base_path }}/{{ item.key }}/build/Dockerfile"
+
+- name: install python-docker
+ apt:
+ name: python-docker
+ state: present
+
+- name: build custom image
+ docker_image:
+ name: "nextcloud/{{ item.key }}:{{ item.value.version }}"
+ state: present
+ source: build
+ build:
+ path: "{{ nextcloud_base_path }}/{{ item.key }}/build"
+ network: host
+ pull: yes
diff --git a/roles/apps/nextcloud/tasks/main.yml b/roles/apps/nextcloud/tasks/main.yml
index 68e9dc78..1a17bb55 100644
--- a/roles/apps/nextcloud/tasks/main.yml
+++ b/roles/apps/nextcloud/tasks/main.yml
@@ -97,6 +97,13 @@
dest: "{{ nextcloud_base_path }}/{{ item }}/config/ports.conf"
+- name: build custom image
+ loop: "{{ nextcloud_instances | dict2items }}"
+ loop_control:
+ label: "{{ item.key }}"
+ when: "'custom_image' in item.value"
+ include_tasks: custom-image.yml
+
- name: generate pod manifests
loop: "{{ nextcloud_instances | dict2items }}"
loop_control: