diff options
| author | Luke Hoersten <[email protected]> | 2020-07-01 12:16:48 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2020-07-01 12:16:48 -0500 |
| commit | d5a690b1e03a998510d48d2f39d1a224c64d82ff (patch) | |
| tree | 8c0f8cab0b66b2dbced1945799bb11b8cf5901af /pleroma/otp/tasks | |
| parent | 3d9e1d8d39686d3ccffb90ff52bcda399e68bc7c (diff) | |
Split out aws s3 and otp roles.
Diffstat (limited to 'pleroma/otp/tasks')
| -rw-r--r-- | pleroma/otp/tasks/main.yaml | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/pleroma/otp/tasks/main.yaml b/pleroma/otp/tasks/main.yaml new file mode 100644 index 0000000..c031666 --- /dev/null +++ b/pleroma/otp/tasks/main.yaml @@ -0,0 +1,108 @@ +--- + +- name: add users + become: yes + user: name="pleroma" shell="/bin/false" home="/opt/pleroma" system="yes" + +- name: apt install pleroma dependencies + become: yes + apt: name="libtinfo5" + +- name: create config and data directory + become: yes + file: + path: "{{item}}" + state: "directory" + mode: "0755" + with_items: + - "{{pleroma_data_dir}}" + - "/etc/pleroma" + - "/opt/pleroma" + +- name: install pleroma config + template: + src: "config.exs.j2" + dest: "/etc/pleroma/{{pleroma_instance}}.config.exs" + owner: "pleroma" + group: "pleroma" + mode: "0600" + become: yes + notify: restart pleroma instance + +- name: create instance data directory + become: yes + file: + path: "{{item}}" + state: "directory" + owner: "pleroma" + group: "pleroma" + mode: "0755" + with_items: + - "{{pleroma_data_dir}}/{{pleroma_instance}}" + - "{{pleroma_data_dir}}/{{pleroma_instance}}/uploads" + - "{{pleroma_data_dir}}/{{pleroma_instance}}/static" + - "{{pleroma_data_dir}}/{{pleroma_instance}}/static/emoji" + +- name: install pleroma db schema file + become: yes + template: + src: "setup_db.psql.j2" + dest: "/tmp/setup_db_{{pleroma_instance}}.psql" + owner: "{{pleroma_db_superuser}}" + group: "{{pleroma_db_superuser}}" + mode: "0600" + changed_when: false + +- name: install pleroma psql + become: yes + become_user: "{{pleroma_db_superuser}}" + command: "psql -f /tmp/setup_db_{{pleroma_instance}}.psql" + changed_when: false + +- name: download and unarchive pleroma release + become: yes + unarchive: + src: "{{pleroma_download_url}}" + dest: "/tmp/" + remote_src: yes + creates: "/tmp/release" + notify: restart pleroma instance + +- name: install pleroma release + become: yes + copy: + remote_src: true + src: "/tmp/release/" + dest: "/opt/pleroma/" + owner: "pleroma" + group: "pleroma" + changed_when: false + +- name: remove tmp release folder + become: yes + file: path="{{item}}" state="absent" + with_items: + - "/tmp/setup_db.psql" + - "/tmp/release/" + when: pleroma_cleanup_tmp + +- name: configure pleroma systemd service + become: yes + copy: + src: "[email protected]" + dest: "/lib/systemd/system/[email protected]" + notify: restart pleroma instance + +- name: ensure pleroma instance is enabled and started + become: yes + systemd: name="pleroma@{{pleroma_instance}}.service" enabled="yes" state="started" + +- name: migrate db + become: yes + become_user: "pleroma" + command: "/opt/pleroma/bin/pleroma_ctl migrate" + args: + chdir: "/opt/pleroma/" + environment: + PLEROMA_CONFIG_PATH: "/etc/pleroma/{{pleroma_instance}}.config.exs" + changed_when: false |
