diff --git a/roles/initnextcloud/tasks/dirs.yml b/roles/initnextcloud/tasks/dirs.yml new file mode 100644 index 0000000..9712fd0 --- /dev/null +++ b/roles/initnextcloud/tasks/dirs.yml @@ -0,0 +1,23 @@ +- name: create home dirs + file: + path: "~/{{ item }}" + state: directory + loop: "{{ homedirs }}" + +- name: create volume dir + become: true + file: + path: "{{ item }}" + state: directory + owner: pi + group: pi + mode: '0755' + loop: "{{ volumedirs }}" + +- name: create nextcloud dirs + file: + path: ~/{{ item}} + state: directory + loop: "{{ ncdirs }}" + + diff --git a/roles/initnextcloud/tasks/docker.yml b/roles/initnextcloud/tasks/docker.yml new file mode 100644 index 0000000..a94837e --- /dev/null +++ b/roles/initnextcloud/tasks/docker.yml @@ -0,0 +1,24 @@ +- name: Clone docker-compose repository + ansible.builtin.git: + repo: "{{ dockerrepo }}" + dest: "{{ dockerdir }}" + version: master + +- name: Permission für Docker + become: true + file: path=/var/run/docker.sock mode=0660 +# mode: 660 + +- name: adding user pi to docker group + become: true + user: + name: pi + groups: docker,video + + +- name: Run docker-compose up + community.docker.docker_compose: + project_src: '{{dockerdir }}/compose/nextcloud' + state: present + become: true + diff --git a/roles/initnextcloud/tasks/install.yml b/roles/initnextcloud/tasks/install.yml new file mode 100644 index 0000000..71b5a25 --- /dev/null +++ b/roles/initnextcloud/tasks/install.yml @@ -0,0 +1,13 @@ +- name: PI Update + become: true + apt: + update_cache: yes + upgrade: dist +- name: Pakete installieren + become: true + ansible.builtin.apt: + name: "{{ packages }}" + state: present + update_cache: yes + cache_valid_time: 86400 + diff --git a/roles/initnextcloud/tasks/main.yml b/roles/initnextcloud/tasks/main.yml index f2c771b..08f7d36 100644 --- a/roles/initnextcloud/tasks/main.yml +++ b/roles/initnextcloud/tasks/main.yml @@ -1,94 +1,12 @@ -- include_tasks: ../subtasks/upgrade.yml - include_vars: "roles/initnextcloud/vars/dirs.yml" - include_vars: "roles/initnextcloud/vars/partuuid.yml" - include_vars: "roles/initnextcloud/vars/pckg.yml" +- include_tasks: ../subtasks/upgrade.yml +- import_tasks: install.yml +- import_tasks: dirs.yml +- import_tasks: docker.yml +- import_tasks: mount.yml +- import_tasks: optional.yml -- name: create home dirs - file: - path: "~/{{ item }}" - state: directory - loop: "{{ homedirs }}" -- name: PI Update - become: true - apt: - update_cache: yes - upgrade: dist -- name: Pakete installieren - become: true - ansible.builtin.apt: - name: "{{ packages }}" - state: present - update_cache: yes - cache_valid_time: 86400 - -- name: Permission für Docker - become: true - file: path=/var/run/docker.sock mode=0660 -# mode: 660 -- name: adding user pi to docker group - become: true - user: - name: pi - groups: docker,video - loop: - - bin - - git - - -- name: copy scripts - copy: - src: "{{ item }}" - dest: /home/pi/bin - mode: '0755' - loop: "{{ query('fileglob', 'files/scripts/*') }}" - -- name: copy resources to ~ - copy: - src: "{{ item }}" - dest: /home/pi - loop: "{{ query('fileglob', 'resources/*') }}" - - -- name: create volume dirs - become: true - file: - path: "{{ item }}" - state: directory - owner: pi - group: pi - mode: '0755' - loop: "{{ volumedirs }}" - -- name: Add Nextcloud mount to fstab - become: true - ansible.builtin.blockinfile: - path: /etc/fstab - marker: "# {mark} ANSIBLE MANAGED BLOCK nextcloud" - block: | - PARTUUID={{ partuuid }} /mnt/nextcloud ext4 defaults,noatime 0 1 - -- name: Mount /mnt/nextcloud - become: true - ansible.posix.mount: - path: /mnt/nextcloud - state: mounted - fstype: ext4 - src: PARTUUID={{ partuuid }} - -- name: create nextcloud dirs - file: - path: ~/{{ item}} - state: directory - loop: "{{ ncdirs }}" -- name: Clone docker-compose repository - ansible.builtin.git: - repo: 'https://git.olli-cloud.de/olli/dockercmd' - dest: /home/pi/git/dockercmd - version: master -- name: Run docker-compose up - community.docker.docker_compose: - project_src: '/home/pi/git/dockercmd/compose/nextcloud' - state: present - become: true diff --git a/roles/initnextcloud/tasks/mount.yml b/roles/initnextcloud/tasks/mount.yml new file mode 100644 index 0000000..b2f6c2b --- /dev/null +++ b/roles/initnextcloud/tasks/mount.yml @@ -0,0 +1,16 @@ +- name: Add Nextcloud mount to fstab + become: true + ansible.builtin.blockinfile: + path: /etc/fstab + marker: "# {mark} ANSIBLE MANAGED BLOCK nextcloud" + block: | + PARTUUID={{ partuuid }} /mnt/nextcloud ext4 defaults,noatime 0 1 + +- name: Mount /mnt/nextcloud + become: true + ansible.posix.mount: + path: /mnt/nextcloud + state: mounted + fstype: ext4 + src: PARTUUID={{ partuuid }} + diff --git a/roles/initnextcloud/tasks/optional.yml b/roles/initnextcloud/tasks/optional.yml new file mode 100644 index 0000000..f416378 --- /dev/null +++ b/roles/initnextcloud/tasks/optional.yml @@ -0,0 +1,13 @@ +- name: copy scripts + copy: + src: "{{ item }}" + dest: /home/pi/bin + mode: '0755' + loop: "{{ query('fileglob', 'files/scripts/*') }}" + +- name: copy resources to ~ + copy: + src: "{{ item }}" + dest: /home/pi + loop: "{{ query('fileglob', 'resources/*') }}" + diff --git a/roles/initnextcloud/vars/dirs.yml b/roles/initnextcloud/vars/dirs.yml index 054ae5b..07d14e9 100644 --- a/roles/initnextcloud/vars/dirs.yml +++ b/roles/initnextcloud/vars/dirs.yml @@ -1,3 +1,6 @@ +dockerrepo: "https://git.olli-cloud.de/olli/dockercmd" +dockerdir: "/home/pi/git/dockercmd" + volumedirs: - /mnt/nextcloud - /opt/clamav @@ -14,6 +17,5 @@ ncdirs: - /mnt/nextcloud/nextcloud//data - /nextcloud/nextcloud/config -partuuid: - - 011ad286-01 +