ansible/roles/framadate/tasks/main.yml

100 lines
2.3 KiB
YAML

---
# Setup dependencies
- name: Install framadate APT dependencies
apt:
update_cache: true
name:
- nginx
- php-fpm
- php-intl
- php-mbstring
- php-mysql
- composer
- python3-passlib # Necessary for htpasswd module
- python3-pymysql
- mariadb-server
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Clone framadate project
git:
repo: "{{ glob_framadate.repo }}"
dest: "{{ loc_framadate.path }}"
version: "{{ glob_framadate.version }}"
# Cet item là raises forcement un changed à cause du recurse: true
# https://github.com/ansible/ansible/issues/32636
- name: Set perms on framadate code
file:
path: "{{ loc_framadate.path }}"
state: directory
owner: www-data
group: www-data
recurse: true
- name: Install Framadate dependencies
composer:
command: install
working_dir: "{{ loc_framadate.path }}"
become: true
become_user: www-data
register: composer_result
retries: 3
until: composer_result is succeeded
- name: Create log file
file:
path: "{{ loc_framadate.path }}/admin/stdout.log"
owner: www-data
mode: 0600
- name: Configure framadate
template:
src: framadate/app/inc/config.php.j2
dest: "{{ loc_framadate.path }}/app/inc/config.php"
owner: www-data
group: www-data
- name: Configure admin password
htpasswd:
path: /etc/nginx/.htpasswd
name: "{{ glob_framadate.admin_username }}"
password: "{{ glob_framadate.admin_password }}"
owner: root
group: www-data
mode: 0640
- name: Configure nginx site
template:
src: nginx/sites-available/framadate.j2
dest: /etc/nginx/sites-available/framadate
notify: restart nginx
- name: Enable nginx site
file:
src: /etc/nginx/sites-available/framadate
dest: /etc/nginx/sites-enabled/framadate
state: link
notify: restart nginx
- name: Create the database
mysql_db:
login_unix_socket: /var/run/mysqld/mysqld.sock
name: framadate
state: present
- name: Grant access right to framadate
mysql_user:
login_unix_socket: /var/run/mysqld/mysqld.sock
name: framadate
password: "{{ glob_framadate.db_password }}"
priv: 'framadate.*:ALL'
state: present
- name: Indicate role in motd
template:
src: update-motd.d/05-service.j2
dest: /etc/update-motd.d/05-framadate
mode: 0755