Raspberry-Pi-IaC/roles/actual/tasks/main.yml
Thomas Kleinendorst 86d75b8de0 Update the actual version (to 24.5.0)
There is also a problem with the configuration in that it's hard to
upgrade running containers, I added a note explaining this.
2024-05-06 10:54:06 +02:00

57 lines
2.1 KiB
YAML

---
- name: Include user role
ansible.builtin.include_role:
name: user
vars:
user_username: "{{ actual_username }}"
user_password: "{{ actual_password }}"
user_start_podman_restart: true
- name: Create a directory for holding actual's (volume) data
become: true
become_user: "{{ actual_username }}"
ansible.builtin.file:
path: "/home/{{ actual_username }}/actual_data"
state: directory
mode: '0700'
- name: Gather facts on the actual container
become: true
become_user: "{{ actual_username }}"
containers.podman.podman_container_info:
name: actual-server
register: actual_server_container_info
# This step doesn't work correctly when updating the contianer in any way. In this case it will simply skip the step.
# The easiest workaround is to remove the container altogether and rerun.
- name: Start the actual container with correct systemd linking
when: "'no such container' in actual_server_container_info.stderr"
become: true
become_user: "{{ actual_username }}"
block:
- name: Start the Actual container
containers.podman.podman_container:
name: actual-server
image: docker.io/actualbudget/actual-server:24.5.0
restart_policy: always
publish:
- 127.0.0.1:5006:5006
volumes:
- "/home/{{ actual_username }}/actual_data:/data"
state: stopped
# For more information on the systemd startup service, see: https://linuxhandbook.com/autostart-podman-containers/
generate_systemd:
path: "/home/{{ actual_username }}/.config/systemd/user/"
restart_policy: always
notify: Reload systemd (daemon-reload)
- name: Flush handlers
ansible.builtin.meta: flush_handlers
- name: Enable the newly created systemd service for user
ansible.builtin.systemd:
name: container-actual-server.service
state: started
enabled: true
scope: user
- name: Include simple-reverse-proxy role
ansible.builtin.include_role:
name: simple-reverse-proxy
vars:
simple_reverse_proxy_internal_port: 5006
simple_reverse_proxy_internal_subdomain: actual