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

167 lines
No EOL
4.6 KiB
YAML
Executable file

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