76 lines
2.6 KiB
YAML
76 lines
2.6 KiB
YAML
#!/usr/bin/env ansible-playbook
|
|
# vim:ft=ansible:
|
|
---
|
|
- name: set up system
|
|
block:
|
|
- name: install packages
|
|
apt: name=curl,python3-psycopg2,unzip,libmagic-dev,ncurses-bin
|
|
- name: assure pleroma uesr
|
|
user: name=pleroma system=yes home={{ pleroma_home }}
|
|
- name: assure operational directory
|
|
file: path={{ pleroma_home }} state=directory owner=pleroma group=pleroma mode="3775"
|
|
- name: assure systemd unit
|
|
template: src=pleroma.service dest=/etc/systemd/system/pleroma.service
|
|
notify: restart pleroma
|
|
- name: set up pleroma
|
|
block:
|
|
- name: assure db extensions
|
|
postgresql_ext:
|
|
db: "{{ pleroma_db_name }}"
|
|
name: "{{ item }}"
|
|
login_host: "{{ pleroma_db_host }}"
|
|
login_user: "{{ pleroma_db_user }}"
|
|
login_password: "{{ pleroma_db_pass }}"
|
|
loop:
|
|
- citext
|
|
- pg_trgm
|
|
- uuid-ossp
|
|
notify: restart pleroma
|
|
- name: get latest release
|
|
get_url: url={{ pleroma_download_url }} dest={{ pleroma_home }}/release.zip
|
|
register: dl
|
|
- name: install pleroma
|
|
block:
|
|
- name: stop pleroma
|
|
systemd: name=pleroma state=stopped
|
|
- name: unzip release
|
|
unarchive: src={{ pleroma_home }}/release.zip dest={{ pleroma_home }} remote_src=yes
|
|
- name: remove old release
|
|
file: path={{ pleroma_home }}/{{ item }} state=absent
|
|
loop:
|
|
- bin
|
|
- lib
|
|
- releases
|
|
- installation
|
|
- name: move new release in
|
|
shell: rsync -a {{ pleroma_home }}/release/* {{ pleroma_home }}/
|
|
- name: clean up
|
|
file: path={{ pleroma_home }}/release state=absent
|
|
- name: clean up ownership
|
|
file: path={{ pleroma_home }} owner=pleroma group=pleroma recurse=yes
|
|
when: dl is changed and pleroma_install
|
|
- name: assure directory structure
|
|
file: path={{ item }} state=directory owner=pleroma group=pleroma mode="0755"
|
|
loop:
|
|
- /etc/pleroma
|
|
- /opt/pleroma
|
|
- /var/lib/pleroma
|
|
- /var/lib/pleroma/static
|
|
- /var/lib/pleroma/uploads
|
|
- name: template out stub config
|
|
template: src=config.exs dest=/etc/pleroma/config.exs owner=pleroma group=pleroma mode="0640"
|
|
notify: restart pleroma
|
|
- name: migrate db
|
|
command: "{{ pleroma_home }}/bin/pleroma_ctl migrate"
|
|
args:
|
|
chdir: "{{ pleroma_home }}"
|
|
become: yes
|
|
become_user: pleroma
|
|
changed_when: false
|
|
- name: enable service
|
|
systemd: name=pleroma state=started enabled=yes
|
|
when: pleroma_enabled
|
|
- name: disable service
|
|
systemd: name=pleroma state=stopped enabled=no
|
|
when: not pleroma_enabled
|