- name: Install Podman packages ansible.builtin.apt: name: - podman - uidmap - slirp4netns - fuse-overlayfs state: present update_cache: true - name: Create Immich config directory ansible.builtin.file: path: /etc/immich state: directory mode: "0750" - name: Create Immich data directories ansible.builtin.file: path: "{{ item }}" state: directory owner: "{{ immich_container_uid }}" group: "{{ immich_container_gid }}" mode: "0750" loop: - "{{ immich_upload_location }}" - "{{ immich_db_data_location }}" - "{{ immich_redis_data_location }}" - "{{ immich_model_cache_dir }}" - name: Write Immich env file ansible.builtin.template: src: immich.env.j2 dest: "{{ immich_env_path }}" mode: "0640" - name: Write Postgres env file ansible.builtin.template: src: postgres.env.j2 dest: "{{ immich_postgres_env_path }}" mode: "0640" - name: Check Immich podman network ansible.builtin.command: "podman network exists {{ immich_network_name }}" register: immich_network_check changed_when: false failed_when: false - name: Create Immich podman network ansible.builtin.command: "podman network create {{ immich_network_name }}" when: immich_network_check.rc != 0 - name: Install systemd unit files ansible.builtin.template: src: "{{ item.src }}" dest: "/etc/systemd/system/{{ item.dest }}" mode: "0644" loop: - { src: immich-redis.service.j2, dest: immich-redis.service } - { src: immich-postgres.service.j2, dest: immich-postgres.service } - { src: immich-server.service.j2, dest: immich-server.service } - { src: immich-microservices.service.j2, dest: immich-microservices.service } - { src: immich-machine-learning.service.j2, dest: immich-machine-learning.service } when: item.dest != 'immich-machine-learning.service' or immich_machine_learning_enabled notify: Reload systemd - name: Enable and start Immich services ansible.builtin.systemd: name: "{{ item }}" enabled: true state: started loop: - immich-redis.service - immich-postgres.service - immich-server.service - immich-microservices.service - immich-machine-learning.service when: item != 'immich-machine-learning.service' or immich_machine_learning_enabled