62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# 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. |
|
|
|
|
## 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 |