78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
- 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
|