Obisidian vault manual backup: 12-01-2026 11:27:30 on . 3 files edited

This commit is contained in:
Félix MARQUET
2026-01-12 11:27:30 +01:00
parent 3dfd536dc9
commit 2e60b3fa88
3 changed files with 97 additions and 114 deletions

View File

@@ -126,4 +126,18 @@ handlers:
service:
name: nginx
state: restarted
```
#### Fichier : `templates/nginx.conf.j2`
```nginx
server {
listen {{ proxy_port }};
server_name {{ server_name }};
location / {
proxy_pass http://127.0.0.2:{{ flask_port }};
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
```

View File

@@ -6,124 +6,93 @@ ssh root@135.125.246.84
mdp : moutarde42
### Step2
```yml
---
- hosts: demo
gather_facts: yes
tasks:
- name: Install the git package
apt:
name: git
state: present
- name: Clone my flask application
git:
repo: 'https://github.com/arnaudmorin/demo-flask.git'
dest: /root/demo-flask
### 1. Structure des dossiers
```bash
mkdir -p roles/{flask_app,nginx_proxy}/tasks roles/{flask_app,nginx_proxy}/templates roles/{flask_app,nginx_proxy}/handlers
```
### Step3
### 2. Rôle `flask_app`
#### Fichier : `roles/flask_app/tasks/main.yml`
```yaml
---
- hosts: demo
gather_facts: yes
tasks:
- name: Install the git package
apt:
name: git
state: present
- name: Clone my flask application
git:
repo: 'https://github.com/arnaudmorin/demo-flask.git'
dest: /root/demo-flask
- name: Install pip
apt:
name: python3-pip
state: present
- name: Install flask requirements
pip:
requirements: /root/demo-flask/requirements.txt
---
- name: Installer le paquet git
apt:
name: git
state: present
- name: Cloner l'application Flask
git:
repo: 'https://github.com/arnaudmorin/demo-flask.git'
dest: /root/demo-flask
- name: Installer pip
apt:
name: python3-pip
state: present
- name: Installer les dépendances Flask
pip:
requirements: /root/demo-flask/requirements.txt
- name: Démarrer l'application Flask en arrière-plan
shell: "nohup /root/demo-flask/start.sh &"
```
### Step4
### 3. Rôle `nginx_proxy`
#### Fichier : `roles/nginx_proxy/tasks/main.yml`
```yaml
---
- hosts: demo
gather_facts: yes
tasks:
- name: Install the git package
apt:
name: git
state: present
- name: Clone my flask application
git:
repo: 'https://github.com/arnaudmorin/demo-flask.git'
dest: /root/demo-flask
- name: Install pip
apt:
name: python3-pip
state: present
- name: Install flask requirements
pip:
requirements: /root/demo-flask/requirements.txt
- name: Start the flask application in background
shell: "nohup /root/demo-flask/start.sh &"
`---
- name: Installer Nginx
apt:
name: nginx
state: present
- name: Configurer Nginx comme reverse proxy
template:
src: nginx.conf.j2
dest: /etc/nginx/sites-available/{{ server_name }}
notify: Restart Nginx
- name: Activer la configuration du site
file:
src: /etc/nginx/sites-available/{{ server_name }}
dest: /etc/nginx/sites-enabled/{{ server_name }}
state: link
notify: Restart Nginx`
```
#### Fichier : `roles/nginx_proxy/handlers/main.yml`
```yaml
---
- name: Restart Nginx
service:
name: nginx
state: restarted`
```
#### Fichier : `roles/nginx_proxy/templates/nginx.conf.j2`
```nginx
server {
listen {{ proxy_port }};
server_name {{ server_name }};
location / {
proxy_pass http://127.0.0.2:{{ flask_port }};
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
```
### Step5
```Yaml
### 4. Playbook principal
#### Fichier : `playbook-role.yml`
```yaml
---
- hosts: demo
gather_facts: yes
tasks:
- name: Installer le paquet git
apt:
name: git
state: present
- name: Cloner mon application Flask
git:
repo: 'https://github.com/arnaudmorin/demo-flask.git'
dest: /root/demo-flask
- name: Installer pip
apt:
name: python3-pip
state: present
- name: Installer les dépendances Flask
pip:
requirements: /root/demo-flask/requirements.txt
- name: Démarrer l'application Flask en arrière-plan
shell: "nohup /root/demo-flask/start.sh &"
- hosts: localhost
become: yes
vars:
proxy_port: 80
flask_port: 8080
server_name: "135.125.246.84"
tasks:
- name: Installer Nginx
apt:
name: nginx
state: present
- name: Configurer Nginx comme reverse proxy
template:
src: nginx.conf.j2
dest: /etc/nginx/sites-available/demo
notify: Restart Nginx
- name: Activer la configuration du site
file:
src: /etc/nginx/sites-available/demo
dest: /etc/nginx/sites-enabled/demo
state: link
notify: Restart Nginx
- name: Afficher l'URL d'accès au site
debug:
msg: "Votre application est accessible à l'URL : http://{{ server_name }}"
handlers:
- name: Restart Nginx
service:
name: nginx
state: restarted
- hosts: demo
roles:
- flask_app
- hosts: localhost
become: yes
vars:
proxy_port: 80
flask_port: 8080
server_name: "135.125.246.84"
roles:
- role: nginx_proxy
```