--- # #Configuration du pi5 from scratch # #pré-requis : #ssh configuré # # - name: Configuration du pi3 from scratch hosts: pi3 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 des packages déjà installés ansible.builtin.apt: name: "*" state: latest become: true - name: Installation des packages qui vont bien ansible.builtin.apt: pkg: - fish - docker - btop - vim - nfs-kernel-server become: true #confort en cas de log en local - name: update profile root lineinfile: dest: ~/.profile state: present line: "alias ll='ls -alrth'" become: true - name: update profile griffix lineinfile: dest: ~/.profile state: present line: "alias ll='ls -alrth'" # #Share Seagate # - name: Share 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 # #share Temp # - name: share 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 # - name: Copy file with owner and permissions # ansible.builtin.copy: # src: /media/Seagate/Ansible_conf/config/ # dest: /config # owner: griffix # group: media # mode: '0766' # - name: Create directory for Docker CLI plugins # file: # path: /usr/local/lib/docker/cli-plugins # state: directory # mode: '0755' # become: true # - name: Download Docker Compose V2 binary # get_url: # url: https://github.com/docker/compose/releases/download/v2.34.0/docker-compose-linux-aarch64 # dest: /usr/local/lib/docker/cli-plugins/docker-compose # mode: '0755' # become: true # - name: Make Docker Compose binary executable # file: # path: /usr/local/lib/docker/cli-plugins/docker-compose # mode: '0755' # become: true # - name: Verify Docker Compose installation # command: docker compose version # register: docker_compose_version # ignore_errors: yes # - name: Show Docker Compose version # debug: # msg: "{{ docker_compose_version.stdout }}" # when: docker_compose_version.rc == 0 - name: Create and deploy docker compose services community.docker.docker_compose_v2: project_src: /config/ register: output