# Ansible Role: podman Diese Rolle installiert Podman und startet Portainer mithilfe von `podman-compose` auf Debian-basierten Systemen. Zusätzlich wird ein NFS-Share von einem TrueNAS-System gemountet, um persistente Daten für Podman-Container, einschließlich Portainer, zu speichern. ## Anforderungen Diese Rolle wurde für Debian-basierte Systeme entwickelt und getestet. Sie erfordert `pip`, um `podman-compose` zu installieren. Stellen Sie sicher, dass `python3-pip` auf dem Zielsystem vorhanden ist. Es wird davon ausgegangen, dass ein NFS-Share auf einem TrueNAS-System bereits konfiguriert und exportiert ist. ## Rollenvariablen Die folgenden Variablen können angepasst werden, um das Verhalten der Rolle zu steuern. Die Standardwerte sind in `defaults/main.yml` definiert. | Variable | Standardwert | Beschreibung | |---|---|---| | `podman_nfs_server` | `"192.168.1.10"` | Die IP-Adresse des TrueNAS-Servers, der den NFS-Share bereitstellt. | | `podman_nfs_share_path` | `"/mnt/pool/podman_data"` | Der Pfad zum NFS-Share auf dem TrueNAS-System. | | `podman_data_mount_point` | `"/var/lib/podman_nfs"` | Der lokale Mount-Punkt auf dem Zielsystem für den NFS-Share. | | `portainer_data_path` | `{{ podman_data_mount_point }}/portainer` | Der Pfad innerhalb des NFS-Mount-Punkts, wo Portainer seine persistenten Daten speichert. | | `portainer_image` | `"portainer/portainer-ce:latest"` | Das Docker/Podman-Image für Portainer. | | `portainer_name` | `"portainer"` | Der Name des Portainer-Containers. | | `portainer_web_port` | `9443` | Der Port für die Portainer Web-Oberfläche (HTTPS). | | `portainer_edge_agent_port` | `8000` | Der Port für den Portainer Edge Agent. | | `portainer_legacy_port` | `9000` | Der alte Standard-Port für Portainer (HTTP), oft noch exponiert. | | `portainer_agent_image` | `"portainer/agent:latest"` | Das Docker/Podman-Image für den Portainer Agenten. | | `portainer_agent_name` | `"portainer-agent"` | Der Name des Portainer-Agent-Containers. | | `portainer_agent_port` | `9001` | Der Port, auf dem der Portainer Agent lauscht. | ## Abhängigkeiten Diese Rolle hat keine Abhängigkeiten von anderen Ansible-Rollen. ## Beispiel-Playbook So können Sie die Rolle in Ihr Playbook integrieren: ```yaml - hosts: podman_hosts become: true roles: - podman ``` Um spezifische Variablen zu überschreiben, können Sie dies im Playbook oder in Ihren `group_vars` tun: ```yaml - hosts: podman_hosts become: true vars: podman_nfs_server: "10.0.0.50" podman_nfs_share_path: "/mnt/mainpool/apps/podman" roles: - podman ``` ## Lizenz MIT ## Autor Ihr Name