ansibleguy.sw_ansible_webui
<a href="https://github.com/ansibleguy/webui">
<img src="https://raw.githubusercontent.com/ansibleguy/webui/latest/src/ansibleguy-webui/aw/static/img/logo.svg" alt="AnsibleGuy-WebUI Logo" width="300"/>
</a>
# Ansible Rolle - Ansible-WebUI
Rolle zur Bereitstellung [einer einfachen WebUI zur Nutzung von Ansible](https://github.com/ansibleguy/webui) auf einem Linux-Server.
<a href='https://ko-fi.com/ansible0guy' target='_blank'><img height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Kauf mir einen Kaffee' />
**HAFTUNGSAUSSCHLUSS**: Diese WebUI ist ein **inoffizielles Community-Projekt**! Verwechseln Sie es nicht mit dem normalen [Ansible](https://ansible.com/) Produkt!
[](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/molecule.sh.j2)
[](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/yamllint.sh.j2)
[](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/pylint.sh.j2)
[](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/ansiblelint.sh.j2)
[](https://galaxy.ansible.com/ui/standalone/roles/ansibleguy/sw_ansible_webui)
Molecule Logs: [Kurz](https://badges.ansibleguy.net/log/molecule_sw_ansible_webui_test_short.log), [Voll](https://badges.ansibleguy.net/log/molecule_sw_ansible_webui_test.log)
**Getestet:**
* Debian 12
## Installation
```bash
# aktuellste Version
ansible-galaxy role install git+https://github.com/ansibleguy/sw_ansible_webui
# aus der Galaxy
ansible-galaxy install ansibleguy.sw_ansible_webui
# oder zu einem benutzerdefinierten Rollen-Pfad
ansible-galaxy install ansibleguy.sw_ansible_webui --roles-path ./roles
# Abhängigkeiten installieren
ansible-galaxy install -r requirements.yml
Nutzung
Konfiguration
Definieren Sie die Konfiguration nach Bedarf:
Minimale Konfiguration:
ansible_webui:
config:
AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
Optionen:
ansible_webui:
manage:
webserver: true # lokalen nginx mit minimalem CA-Zertifikat installieren und konfigurieren
backup: true # Dienst für tägliche lokale Datenbanksicherung installieren (wenn die Datenbank verwaltet wird)
user: true # Dienstbenutzer 'ansible-webui' erstellen
ansible_cfg: true # /home/ansible-webui/ansible.cfg bereitstellen
requirements: # Anforderungen, die Ihre Ausführungsumgebung benötigt
pip: ['httpx'] # beliebige Python3-Module
collections: ['community.general'] # beliebige Ansible-Sammlungen (wenn persistent_requirements=true)
roles: [] # beliebige Ansible-Rollen (wenn persistent_requirements=true)
config: # für Optionen siehe: https://webui.ansibleguy.net/en/latest/usage/4_config.html#settings
AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
# AW_SECRET: '...' # mindestens 30 Zeichen; eins wird zufällig verwendet, wenn kein anderes bereitgestellt wird
ansible_config: # /home/ansible-webui/ansible.cfg => wenn manage.ansible_cfg=true; siehe: https://docs.ansible.com/ansible/latest/reference_appendices/config.html
defaults: # Abschnitt
remote_port: 48322
vault_id_match: 'webui'
diff:
context: 2
nginx:
... # konfigurieren Sie die Webserver-Einstellungen => siehe: https://github.com/ansibleguy/infra_nginx
Sie könnten 'ansible-vault' verwenden, um Ihre Passwörter zu verschlüsseln:
ansible-vault encrypt_string
Ausführung
Führen Sie das Playbook aus:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml
Es sind auch einige nützliche Tags verfügbar:
- config
- webserver
Um Fehler zu debuggen - können Sie die 'debug'-Variable zur Laufzeit festlegen:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes
Funktionalität
Paketinstallation
- Python3, Python3-PIP, Python3-Virtualenv, Git, Git-LFS
- AnsibleGuy-WebUI mit seinen Python3-Modulabhängigkeiten
Konfiguration
Virtuelle Umgebung genutzt (
/home/ansible-webui/venv
)Standardkonfiguration:
- Protokolle älter als 180 Tage löschen
- Backup-Aufbewahrung 30 Tage
Standardoptionen:
- Installation gängiger Python3-Module ('jmespath', 'netaddr', 'passlib', 'pywinrm', 'requests', 'cryptography')
- Tägliche lokale Backups
- Automatische Aktualisierung von App und Anforderungen beim Start des Dienstes
- Nginx-Proxy
- Dienstbenutzer erstellen
Informationen
Hinweis: Diese Rolle unterstützt derzeit nur Debian-basierte Systeme
Hinweis: Die meisten Funktionen der Rolle können aktiviert oder deaktiviert werden.
Für alle verfügbaren Optionen - siehe die Standardkonfiguration in der Hauptstandarddatei!
Warnung: Nicht jede Einstellung/Variable, die Sie bereitstellen, wird auf Gültigkeit überprüft. Eine schlechte Konfiguration könnte die Rolle brechen!
```
Ansible role to provision a basic WebUI for using Ansible on a linux server
ansible-galaxy install ansibleguy.sw_ansible_webui