computer-playbook/roles/docker-mariadb/tasks/main.yml

68 lines
1.8 KiB
YAML
Raw Normal View History

2023-12-29 22:50:42 +01:00
- name: Create Docker network for MariaDB
docker_network:
name: central_mariadb_network
2023-12-29 22:50:42 +01:00
state: present
2023-12-29 23:48:44 +01:00
when: run_once_docker_mariadb is not defined
2023-12-29 22:50:42 +01:00
- name: Create a volume for MariaDB socket
docker_volume:
name: mariadb_socket
when: run_once_docker_mariadb is not defined
2023-12-29 22:50:42 +01:00
- name: install MariaDB
docker_container:
name: central-mariadb
image: mariadb:latest #could lead to problems with nextcloud
2023-12-29 22:50:42 +01:00
detach: yes
env:
MARIADB_ROOT_PASSWORD: "{{central_mariadb_root_password}}"
MARIADB_AUTO_UPGRADE: "1"
2023-12-29 22:50:42 +01:00
networks:
- name: central_mariadb_network
volumes:
- central_mariadb_database:/var/lib/mysql
2023-12-29 22:50:42 +01:00
published_ports:
- "127.0.0.1:3306:3306" # can be that this will be removed if all applications use sockets
command: "--transaction-isolation=READ-COMMITTED --binlog-format=ROW" #for nextcloud
2023-12-29 23:48:44 +01:00
when: run_once_docker_mariadb is not defined
2023-12-29 22:50:42 +01:00
- name: install python-mysqlclient
pacman:
name: python-mysqlclient
state: present
when: run_once_docker_mariadb is not defined
- name: wait for database
wait_for:
host: 127.0.0.1
port: 3306
delay: 10
timeout: 300
when: run_once_docker_mariadb is not defined
- name: create database
mysql_db:
name: "{{ database_databasename }}"
state: present
login_user: root
login_password: "{{ central_mariadb_root_password }}"
login_host: 127.0.0.1
login_port: 3306
- name: create database user
mysql_user:
name: "{{database_username}}"
password: "{{database_password}}"
host: "%"
priv: '{{database_databasename}}.*:ALL'
state: present
login_user: root
login_password: "{{central_mariadb_root_password}}"
login_host: 127.0.0.1
login_port: 3306
2023-12-29 22:50:42 +01:00
- name: run the docker_mariadb tasks once
set_fact:
2023-12-29 23:48:44 +01:00
run_once_docker_mariadb: true
when: run_once_docker_mariadb is not defined