--- # #Configuration du pi5 from scratch # #pré-requis : #ssh configuré # # - name: Configuration du pi5 from scratch hosts: pi5 remote_user: griffix roles: - geerlingguy.docker become: true tasks: #ajout du groupe docker - name: Création du groupe docker ansible.builtin.group: name: docker state: present become: true - name: Ensure group "somegroup" exists ansible.builtin.group: name: media state: present become: true #Ajout du user griffix aux groupes docker et media - name: Ajout du user griffix au groupe docker ansible.builtin.user: name: griffix groups: docker,media become: true #mount 8Tb HDD externe #UUID=8d9ea59e-4f9a-48d8-94bc-9604f7c131a4 /media/Seagate ext4 defaults,auto,users,rw,nofail,noatime 0 0 - name: Mount up device by UUID ansible.posix.mount: path: /media/Seagate src: UUID=8d9ea59e-4f9a-48d8-94bc-9604f7c131a4 fstype: ext4 opts: defaults,auto,users,rw,nofail,noatime state: present become: true #mount 500 Gb SSD #UUID=6177babe-d97c-4837-a326-1e557a5a3119 /temp ext4 defaults,auto,users,rw,nofail,noatime 0 0 - name: Mount up device by UUID ansible.posix.mount: path: /temp src: UUID=6177babe-d97c-4837-a326-1e557a5a3119 fstype: ext4 opts: defaults,auto,users,rw,nofail,noatime state: present become: true #reboot pour prendre en compte les disques - name: Reboot machine and send a message ansible.builtin.reboot: msg: "Reboot du pi5 dans 5 secondes pour prise en compte des ajouts de disques en Fstab" become: true - name: apt update d'abord ansible.builtin.apt: update_cache: yes become: true - name: Update all packages to their latest version ansible.builtin.apt: name: "*" state: latest become: true - name: Installation des packages qui vont bien ansible.builtin.apt: pkg: - fish - btop - vim - nfs-kernel-server become: true #confort en cas de log en local - name: update profile root avec l'alias qui va bien lineinfile: dest: ~/.profile state: present line: "alias ll='ls -alrth'" become: true - name: update profile griffix avec l'alias qui va bien lineinfile: dest: ~/.profile state: present line: "alias ll='ls -alrth'" - name: update profile griffix avec l'alias qui va bien lineinfile: dest: ~/.profile state: present line: "alias dc='docker compose'" - name: Configuration du partage de Seagate lineinfile: dest: /etc/exports state: present line: "/media/Seagate 192.168.1.0/24(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1001)" become: true - name: Configuration du partage de temp lineinfile: dest: /etc/exports state: present line: "/temp 192.168.1.0/24(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1001)" become: true - name: Reboot machine and send a message ansible.builtin.reboot: msg: "Reboot du pi5 dans 5 secondes pour prise en compte des installations et" become: true - synchronize: src: /media/Seagate/backups/pi5/config/ dest: /config/ delegate_to: "{{ inventory_hostname }}" become: true - name: Recursively change ownership of a directory ansible.builtin.file: path: /config state: directory recurse: yes owner: griffix group: docker - name: create and deploy docker compose services community.docker.docker_compose_v2: project_src: /config/ register: output