diff --git a/roles/jellyfin/files/jellyfin.container b/roles/jellyfin/files/jellyfin.container new file mode 100644 index 0000000..c3581fc --- /dev/null +++ b/roles/jellyfin/files/jellyfin.container @@ -0,0 +1,18 @@ +[Unit] +Description=jellyfin container + +[Container] +ContainerName=jellyfin +Image=ghcr.io/jellyfin/jellyfin +Network=frontend.network +Volume=/srv/jellyfin/config:/config:Z +Volume=/srv/jellyfin/cache:/cache:Z +Volume=/srv/jellyfin/media:/media:Z,ro +AutoUpdate=registry + +[Install] +WantedBy=multi-user.target default.target + +[Service] +Restart=always + diff --git a/roles/jellyfin/tasks/main.yaml b/roles/jellyfin/tasks/main.yaml new file mode 100644 index 0000000..cd3fc69 --- /dev/null +++ b/roles/jellyfin/tasks/main.yaml @@ -0,0 +1,41 @@ +- name: Create jellyfin dir + ansible.builtin.file: + path: /srv/jellyfin + state: directory + mode: '0755' + +- name: Create config dir if it doesn't exist + ansible.builtin.file: + path: /srv/jellyfin/config + state: directory + mode: '0755' + +- name: Create cache dir if it doesn't exist + ansible.builtin.file: + path: /srv/jellyfin/cache + state: directory + mode: '0755' + +- name: Create media dir if it doesn't exist + ansible.builtin.file: + path: /srv/jellyfin/media + state: directory + mode: '0755' + +- name: Copy over jellyfin.container file + ansible.builtin.copy: + src: ./files/jellyfin.container + dest: /etc/containers/systemd/jellyfin.container + owner: root + group: root + mode: '0644' + +- name: Run systemctl daemon-reload + ansible.builtin.systemd_service: + daemon_reload: true + +- name: Start jellyfin container + ansible.builtin.systemd_service: + name: jellyfin.service + state: restarted +