use systemd to make portainer persistent
This commit is contained in:
8
roles/podman/handlers/main.yml
Normal file
8
roles/podman/handlers/main.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
# handlers file for roles/podman
|
||||||
|
|
||||||
|
- name: Reload systemd and restart Portainer pod
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: pod-portainer.service
|
||||||
|
state: restarted
|
||||||
|
daemon_reload: yes
|
||||||
@@ -59,7 +59,30 @@
|
|||||||
dest: "{{ podman_data_mount_point }}/compose/portainer/compose.yaml"
|
dest: "{{ podman_data_mount_point }}/compose/portainer/compose.yaml"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
|
|
||||||
- name: Start Portainer container using podman-compose
|
- name: Generate systemd service file for the Portainer pod
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: podman-compose up -d
|
# Führt 'podman-compose up' aus, um die Container zu erstellen (falls nicht vorhanden).
|
||||||
chdir: "{{ podman_data_mount_point }}/compose/portainer"
|
# Generiert dann eine systemd-Unit für den Pod, der von podman-compose erstellt wurde.
|
||||||
|
# Der Pod-Name entspricht dem Verzeichnisnamen ('portainer').
|
||||||
|
# '--new' erlaubt es systemd, die Container bei Bedarf neu zu erstellen.
|
||||||
|
cmd: podman-compose up -d && podman generate systemd --new --files --name portainer
|
||||||
|
chdir: "{{ podman_data_mount_point }}/compose/portainer"
|
||||||
|
creates: "{{ podman_data_mount_point }}/compose/portainer/pod-portainer.service"
|
||||||
|
register: generate_systemd
|
||||||
|
changed_when: generate_systemd.rc == 0 and "pod-portainer.service" in generate_systemd.stdout
|
||||||
|
|
||||||
|
- name: Copy systemd service file to system location
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "{{ podman_data_mount_point }}/compose/portainer/pod-portainer.service"
|
||||||
|
dest: "/etc/systemd/system/pod-portainer.service"
|
||||||
|
remote_src: yes
|
||||||
|
mode: '0644'
|
||||||
|
when: generate_systemd.changed
|
||||||
|
notify: Reload systemd and restart Portainer pod
|
||||||
|
|
||||||
|
- name: Ensure Portainer pod service is enabled and started
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: pod-portainer.service
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
||||||
|
daemon_reload: yes
|
||||||
Reference in New Issue
Block a user