feat: add peertube role
This commit is contained in:
75
roles/peertube/tasks/main.yml
Normal file
75
roles/peertube/tasks/main.yml
Normal file
@@ -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
|
Reference in New Issue
Block a user