- name: Install Nginx
  apt: pkg=nginx-light

- name: Limit Nginx logging
  lineinfile: "dest=/etc/logrotate.d/nginx create=yes
               regexp='^\\s*rotate\\s'
               line='\trotate 7'"
  tags:
    - logrotate

- name: Copy fastcgi parameters and SSL configuration snippets
  copy: src=etc/nginx/snippets/{{ item }}
        dest=/etc/nginx/snippets/{{ item }}
        owner=root group=root
        mode=0644
  register: r1
  with_items:
    - fastcgi.conf
    - fastcgi-php.conf
    - fastcgi-php-ssl.conf
    - ssl.conf
    - headers.conf
  notify:
    - Restart Nginx

- name: Copy /etc/nginx/sites-available/default
  copy: src=etc/nginx/sites-available/default
        dest=/etc/nginx/sites-available/default
        owner=root group=root
        mode=0644
  register: r2
  notify:
    - Restart Nginx

- name: Create /etc/nginx/sites-enabled/default
  file: src=../sites-available/default
        dest=/etc/nginx/sites-enabled/default
        owner=root group=root
        state=link force=yes
  register: r3
  notify:
    - Restart Nginx

- name: Add .asc to text/plain MIME types
  lineinfile: dest=/etc/nginx/mime.types
              regexp='^(\s*text/plain\s+)'
              backrefs=yes
              line='\1txt asc;'
  register: r4
  notify:
    - Restart Nginx

# WARN Bullseye: nginx >=1.15.1 uses font/woff and font/woff2 (cf. https://trac.nginx.org/nginx/ticket/1243)
# however Bootstrap(?) appears to query resources with "Accept: application/font-woff" resp. application/font-woff2.
# Unfortunately it also uses "Accept-Encoding: identity" so the resource isn't compressed...
- name: Fix MIME type for woff
  lineinfile: dest=/etc/nginx/mime.types
              insertafter='^\s*\S+\s\s+woff;'
              line='    application/font-woff2                woff2;'
  register: r5
  notify:
    - Restart Nginx

- name: Start Nginx
  service: name=nginx state=started
  when: not (r1.changed or r2.changed or r3.changed or r4.changed or r5.changed)

- meta: flush_handlers