diff --git a/roles/peertube/tasks/main.yml b/roles/peertube/tasks/main.yml new file mode 100644 index 0000000..c0d0242 --- /dev/null +++ b/roles/peertube/tasks/main.yml @@ -0,0 +1,75 @@ +--- + +- name: Install prereq + ansible.builtin.package: + name: + - ffmpeg + - g++ + - make + - python-is-python3 + - unzip + state: present + +- name: Create peertube user + ansible.builtin.user: + comment: Peertube + home: "{{ peertube_home }}" + name: peertube + password: '!' + shell: /bin/bash + state: present + +- name: Create peertube .ssh dir + ansible.builtin.file: + state: directory + path: "{{ peertube_home }}/.ssh" + mode: 0755 + owner: peertube + group: peertube + +- name: Set ssh for peertube user + ansible.builtin.copy: + remote_src: true + src: /root/.ssh/authorized_keys + dest: "{{ peertube_home }}/.ssh/authorized_keys" + mode: 0644 + owner: peertube + group: peertube + +- name: Create peertube dirs + ansible.builtin.file: + path: "{{ peertube_home }}/{{ item.path }}" + state: directory + owner: peertube + group: peertube + mode: "{{ item.mode | default('0755') }}" + loop: + - {path: "config", mode: "0750"} + - {path: "storage"} + - {path: "versions"} + +- name: Unzip peertube + remote_user: peertube + ansible.builtin.unarchive: + src: "{{ peertube_url }}" + remote_src: true + dest: "{{ peertube_home }}/versions" + owner: peertube + group: peertube + +- name: Symlink latest peertube version + remote_user: peertube + ansible.builtin.file: + state: link + src: "{{ peertube_home }}/versions/peertube-v{{ peertube_version }}" + dest: "{{ peertube_home }}/peertube-latest" + owner: peertube + group: peertube + +- name: Install peertube + remote_user: peertube + ansible.builtin.command: + cmd: | + bash -lic "yarn install --production --pure-lockfile" + chdir: "{{ peertube_home }}/peertube-latest" + changed_when: true diff --git a/roles/peertube/vars/main.yml b/roles/peertube/vars/main.yml new file mode 100644 index 0000000..0a6f17e --- /dev/null +++ b/roles/peertube/vars/main.yml @@ -0,0 +1,5 @@ +--- + +peertube_version: "5.1.0" +peertube_home: "/srv/peertube" +peertube_url: "https://github.com/Chocobozzz/PeerTube/releases/download/v{{ peertube_version }}/peertube-v{{ peertube_version }}.zip"