HomeLab/Ansible/playbook-pi5.yml
griffix 82c36314d1
init files from local folder
init with all my previous files
2025-08-01 14:59:36 +02:00

142 lines
No EOL
3.9 KiB
YAML
Executable file

---
#
#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/Ansible_conf/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