INSIGHT-MVP/repos/INSIGHT-Infra/ansible/roles/nginx/tasks/main.yml
Thomas Reitz 36196457ea feat(infra): vollständige Ansible-Struktur Phase 1
- Alle Ansible-Rollen erstellt: common, disk_setup, docker, postgresql,
  pgbouncer, redis, nginx, zabbix_agent
- ansible.cfg mit Pipeline-Optimierung
- hosts.yml mit echten IPs (DBS01=.20, APS01=.21, WEB01=.22)
- group_vars für alle Server (dbs, aps, web)
- Zabbix-Server auf sentinel.xinion.de gesetzt
- vault.yml.example als Vorlage für Secrets
- site.yml nutzt import_playbook (DBS01→APS01→WEB01)
- BRIEFING.md für alle 4 Repos angelegt (Platform, Apps, Infra, Shared)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 15:23:29 +01:00

64 lines
1.4 KiB
YAML

---
# Role: nginx
# Installiert und konfiguriert Nginx als Reverse Proxy auf WEB01
# Stellt das React-Frontend bereit und proxied auf APS01
- name: "Nginx installieren"
apt:
name:
- nginx
- certbot
- python3-certbot-nginx
state: present
update_cache: true
- name: "Nginx Default-Site deaktivieren"
file:
path: /etc/nginx/sites-enabled/default
state: absent
notify: reload nginx
- name: "Nginx Konfiguration (Haupt)"
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
mode: '0644'
validate: 'nginx -t -c %s'
notify: reload nginx
- name: "INSIGHT Site Konfiguration"
template:
src: insight.conf.j2
dest: /etc/nginx/sites-available/insight
mode: '0644'
notify: reload nginx
- name: "INSIGHT Site aktivieren"
file:
src: /etc/nginx/sites-available/insight
dest: /etc/nginx/sites-enabled/insight
state: link
notify: reload nginx
- name: "Web-Root Verzeichnis anlegen"
file:
path: "{{ nginx_webroot | default('/var/www/insight') }}"
state: directory
owner: www-data
group: www-data
mode: '0755'
- name: "Nginx Service aktivieren und starten"
service:
name: nginx
state: started
enabled: true
- name: "Nginx Version prüfen"
command: nginx -v
register: nginx_version
changed_when: false
- name: "Nginx Version ausgeben"
debug:
msg: "{{ nginx_version.stderr }}"