101 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.4 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
 | 
						|
    state: file
 | 
						|
 | 
						|
- 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
 |