--- /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: "[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