diff -r 5afa8c28e689 -r 78a072bbf3c1 pleroma/otp/tasks/main.yaml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pleroma/otp/tasks/main.yaml Wed Jul 01 12:16:48 2020 -0500 @@ -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: "pleroma@.service" + dest: "/lib/systemd/system/pleroma@.service" + 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