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"
|
||||
mode: '0644'
|
||||
|
||||
- name: Start Portainer container using podman-compose
|
||||
- name: Generate systemd service file for the Portainer pod
|
||||
ansible.builtin.command:
|
||||
cmd: podman-compose up -d
|
||||
# Führt 'podman-compose up' aus, um die Container zu erstellen (falls nicht vorhanden).
|
||||
# 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