2022-07-13 11:51:25 +00:00
|
|
|
- name: Install WireGuard UI with container
|
|
|
|
block:
|
|
|
|
- name: Login to image registries with podman
|
|
|
|
containers.podman.podman_login:
|
|
|
|
registry: '{{ item.key }}'
|
|
|
|
username: '{{ item.value.username }}'
|
|
|
|
password: '{{ item.value.password }}'
|
|
|
|
become: true
|
|
|
|
no_log: true
|
|
|
|
changed_when: False
|
|
|
|
loop: '{{ wireguard_ui_container_registry_auth | dict2items }}'
|
|
|
|
when: wireguard_ui_container_registry_auth is defined
|
|
|
|
|
|
|
|
- name: Create configuration dir for WireGuard UI
|
|
|
|
file:
|
|
|
|
name: "{{ wireguard_ui_config_dir }}"
|
|
|
|
state: directory
|
|
|
|
|
|
|
|
- name: Create WireGuard UI with podman
|
|
|
|
containers.podman.podman_container:
|
|
|
|
name: "{{ wireguard_ui_container_name }}"
|
|
|
|
hostname: "{{ wireguard_ui_container_name }}"
|
|
|
|
network_mode: "{{ wireguard_ui_network_mode }}"
|
|
|
|
image: "{{ wireguard_ui_container_registry }}/{{ wireguard_ui_image_name }}:{{ wireguard_ui_image_tag }}"
|
|
|
|
state: created
|
2022-07-13 12:20:18 +00:00
|
|
|
env: "{{ wireguard_ui_env }}"
|
|
|
|
volumes: "{{ wireguard_ui_volumes }}"
|
2022-07-13 11:51:25 +00:00
|
|
|
register: wireguard_ui_container
|
|
|
|
|
|
|
|
- name: Generate container systemd unit
|
|
|
|
shell: "podman generate systemd {{ wireguard_ui_container_name }}"
|
|
|
|
register: wireguard_ui_systemd_unit
|
|
|
|
changed_when: False
|
|
|
|
|
|
|
|
- name: Create WireGuard UI systemd unit
|
|
|
|
copy:
|
|
|
|
dest: "/etc/systemd/system/{{ wireguard_ui_systemd_unit_name }}"
|
|
|
|
content: "{{ wireguard_ui_systemd_unit.stdout | regex_replace('^#.*', multiline=True) | trim }}"
|
|
|
|
|
|
|
|
- name: Create WireGuard UI systemd watcher unit
|
|
|
|
copy:
|
|
|
|
dest: "/etc/systemd/system/{{ wireguard_ui_watcher_systemd_service_unit_name }}"
|
|
|
|
src: wireguard-ui-watcher.service.j2
|
|
|
|
|
|
|
|
- name: Create WireGuard UI systemd watcher path
|
|
|
|
copy:
|
|
|
|
dest: "/etc/systemd/system/{{ wireguard_ui_watcher_systemd_path_unit_name }}"
|
|
|
|
src: wireguard-ui-watcher.path.j2
|
|
|
|
|
|
|
|
- name: Logout from image registries
|
|
|
|
containers.podman.podman_logout:
|
|
|
|
registry: '{{ item.key }}'
|
|
|
|
become: true
|
|
|
|
no_log: true
|
|
|
|
changed_when: False
|
|
|
|
loop: '{{ wireguard_ui_container_registry_auth | dict2items }}'
|
|
|
|
when: wireguard_ui_container_registry_auth is defined
|