ansible-roles/webapps/peertube/tasks/upgrade.yml
Mathieu Gauthier-Pilote 0535c40455
All checks were successful
gitea/ansible-roles/pipeline/head This commit looks good
New role to install + upgrade PeerTube
2023-04-07 09:07:59 -04:00

76 lines
1.7 KiB
YAML

---
# tasks file for peertube upgrade
- name: Stop peertube systemd unit
service:
name: "{{ service }}"
state: stopped
- name: Dump database to a file with compression
postgresql_db:
name: "{{ db_name }}"
state: dump
target: "~/{{ db_name }}.sql.gz"
become_user: postgres
- name: Unarchive new peertube archive
unarchive:
src: "{{ download_url }}"
dest: ~/versions
remote_src: yes
become_user: "{{ service }}"
- name: Symbolic link to new version
file:
src: "~/versions/peertube-{{ version }}"
dest: "~/peertube-latest"
state: link
become_user: "{{ service }}"
- name: Install PeerTube nodejs deps (via yarn)
shell: "yarn install --production --pure-lockfile"
args:
chdir: "~/peertube-latest"
become_user: "{{ service }}"
- name: Copy default.yaml to prod dir
copy:
src: "~/peertube-latest/config/default.yaml"
dest: "~/config/default.yaml"
remote_src: true
become_user: "{{ service }}"
- name: Template peertube conf file
template:
src: "production.yaml.j2"
dest: "~/config/production.yaml"
become_user: "{{ service }}"
- name: Restart peertube systemd unit
systemd:
name: "{{ service }}"
daemon_reload: true
state: restarted
- name: Retemplate conf file for nginx vhost
template:
src: "vhost.conf.j2"
dest: "/etc/nginx/sites-available/{{ service }}.conf"
- name: Reload nginx conf
service:
name: nginx
state: reloaded
- name: Define variable to skip next task by default
set_fact:
keep_db_dump: true
- name: Remove database dump
file:
path: "~/{{ db_name }}.sql.gz"
state: absent
become_user: postgres
when: keep_db_dump is undefined
tags: clean