Files
ansible-pull/roles/podman
..
2025-11-07 16:20:17 +01:00
2025-11-26 15:48:40 +01:00
2025-11-07 16:20:34 +01:00
2025-11-07 09:04:00 +01:00

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:

- hosts: podman_hosts
  become: true
  roles:
    - podman

Um spezifische Variablen zu überschreiben, können Sie dies im Playbook oder in Ihren group_vars tun:

- 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