chore: add ansible backend docker frontend-prep
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
---
|
||||
- name: Installation et configuration de Nginx
|
||||
hosts: nginx
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
tasks:
|
||||
- name: Installer Nginx
|
||||
ansible.builtin.apt:
|
||||
name: nginx
|
||||
state: present
|
||||
update_cache: yes
|
||||
|
||||
- name: Créer le répertoire frontend
|
||||
ansible.builtin.file:
|
||||
path: "{{ nginx_frontend_path }}"
|
||||
state: directory
|
||||
owner: www-data
|
||||
group: www-data
|
||||
mode: "0755"
|
||||
|
||||
- name: Créer le répertoire de logs
|
||||
ansible.builtin.file:
|
||||
path: /var/log/nginx
|
||||
state: directory
|
||||
owner: www-data
|
||||
group: adm
|
||||
mode: "0755"
|
||||
|
||||
- name: Supprimer la config par défaut
|
||||
ansible.builtin.file:
|
||||
path: /etc/nginx/sites-enabled/default
|
||||
state: absent
|
||||
|
||||
- name: Créer la configuration Nginx
|
||||
ansible.builtin.template:
|
||||
src: ./templates/nginx.conf.j2
|
||||
dest: /etc/nginx/sites-available/{{ nginx_app_name }}
|
||||
notify: Recharger Nginx
|
||||
|
||||
- name: Activer la configuration
|
||||
ansible.builtin.file:
|
||||
src: /etc/nginx/sites-available/{{ nginx_app_name }}
|
||||
dest: /etc/nginx/sites-enabled/{{ nginx_app_name }}
|
||||
state: link
|
||||
notify: Recharger Nginx
|
||||
|
||||
- name: Configurer Nginx global settings
|
||||
lineinfile:
|
||||
path: /etc/nginx/nginx.conf
|
||||
regexp: "{{ item.regexp }}"
|
||||
line: "{{ item.line }}"
|
||||
insertafter: "http {"
|
||||
loop:
|
||||
- {
|
||||
regexp: '^\s*server_tokens',
|
||||
line: " server_tokens off;",
|
||||
}
|
||||
- {
|
||||
regexp: '^\s*client_max_body_size',
|
||||
line: " client_max_body_size {{ nginx_max_body_size }};",
|
||||
}
|
||||
notify: Recharger Nginx
|
||||
|
||||
- name: Tester la configuration Nginx
|
||||
command: nginx -t
|
||||
register: nginx_test
|
||||
changed_when: false
|
||||
|
||||
- name: Afficher le résultat du test
|
||||
debug:
|
||||
var: nginx_test.stderr_lines
|
||||
|
||||
- name: Démarrer Nginx
|
||||
ansible.builtin.systemd:
|
||||
name: nginx
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Configurer UFW - Autoriser HTTP
|
||||
ansible.builtin.ufw:
|
||||
rule: allow
|
||||
port: "80"
|
||||
proto: tcp
|
||||
when: nginx_enable_firewall | default(true)
|
||||
|
||||
- name: Configurer UFW - Bloquer accès direct au backend
|
||||
ansible.builtin.ufw:
|
||||
rule: deny
|
||||
port: "{{ backend_port }}"
|
||||
proto: tcp
|
||||
from_ip: any
|
||||
when: nginx_enable_firewall | default(true)
|
||||
|
||||
- name: Configurer le tunnel
|
||||
ansible.builtin.template:
|
||||
src: tunnel.conf.j2
|
||||
dest: /etc/tunnel.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
notify: Recharger Nginx
|
||||
|
||||
handlers:
|
||||
- name: Recharger Nginx
|
||||
systemd:
|
||||
name: nginx
|
||||
state: reloaded
|
||||
Reference in New Issue
Block a user