Neah-Enkun/ansible/playbooks/4_mysql.yml

65 lines
2.0 KiB
YAML

---
- name: Installer et configurer MySQL
hosts: servers
become: true
gather_facts: true
vars:
git_repo: "https://gite.slm-lab.net/Chabdeltsang/Neah-Enkun.git"
git_dest: "/opt/Neah-Enkun"
git_branch: "master"
mysql_container: "neah-mysql"
mysql_root_password: "36fe52ed4402730b8ef12d1bbd259862f710e14f147386caaaee74720d5d3cbb"
mysql_database: "nextcloud"
mysql_user: "enkun"
pre_tasks:
- name: Cloner le dépôt Git
git:
repo: "{{ git_repo }}"
dest: "{{ git_dest }}"
version: "{{ git_branch }}"
update: true
force: true
register: git_status
until: git_status is success
retries: 3
delay: 5
tasks:
- name: Lancer le service MySQL
command: "docker compose up -d --build --remove-orphans mysql"
args:
chdir: "{{ git_dest }}"
register: mysql_launch
until: mysql_launch is success
retries: 3
delay: 5
- name: Créer la base de données Nextcloud
shell: >
docker exec {{ mysql_container }} mysql -u root -p{{ mysql_root_password }}
-e "CREATE DATABASE IF NOT EXISTS {{ mysql_database }} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
register: create_db
until: create_db is success
retries: 3
delay: 5
- name: Créer l'utilisateur MySQL
shell: >
docker exec {{ mysql_container }} mysql -u root -p{{ mysql_root_password }}
-e "CREATE USER IF NOT EXISTS '{{ mysql_user }}'@'%' IDENTIFIED BY '{{ mysql_root_password }}';"
register: create_user
until: create_user is success
retries: 3
delay: 5
- name: Ajouter les droits à l'utilisateur sur la base de données
shell: >
docker exec {{ mysql_container }} mysql -u root -p{{ mysql_root_password }}
-e "GRANT ALL PRIVILEGES ON {{ mysql_database }}.* TO '{{ mysql_user }}'@'%'; FLUSH PRIVILEGES;"
register: grant_privileges
until: grant_privileges is success
retries: 3
delay: 5