AnsiblePleroma/roles/pleroma_building/tasks/main.yml

90 lines
2.1 KiB
YAML

- name: Install Hex
become: true
become_user: pleroma
ansible.builtin.command:
chdir: /opt/pleroma
cmd: mix local.hex --force
- name: Install rebar3
become: true
become_user: pleroma
ansible.builtin.command:
chdir: /opt/pleroma
cmd: mix local.rebar --force
- name: Install Pleroma deps
become: true
become_user: pleroma
ansible.builtin.command:
chdir: /opt/pleroma
cmd: mix deps.get --force
- name: Get Pleroma Domain
ansible.builtin.pause:
prompt: Input Pleroma domain
register: result
- name: Set Pleroma Domain
ansible.builtin.set_fact:
pleroma_building_domain: "{{ result.user_input }}"
- name: Get Pleroma instance name
ansible.builtin.pause:
prompt: Input Pleroma instance name
register: result
- name: Set Pleroma instance name
ansible.builtin.set_fact:
pleroma_building_instance_name: "{{ result.user_input }}"
- name: Get admin email
ansible.builtin.pause:
prompt: Input admin email
register: result
- name: Set admin email
ansible.builtin.set_fact:
pleroma_building_admin_email: "{{ result.user_input }}"
- name: Get notify email
ansible.builtin.pause:
prompt: Input notify email
register: result
- name: Set notify email
ansible.builtin.set_fact:
pleroma_building_notify_email: "{{ result.user_input }}"
- name: Generate random postgres password
ansible.builtin.set_fact:
pleroma_building_db_pass: "{{ lookup('community.general.random_string', length=32, special=false) }}"
- name: Create PostgreSQL user for pleroma
become: true
become_user: postgres
community.postgresql.postgresql_user:
name: pleroma
password: "{{ pleroma_building_db_pass }}"
- name: Create PostgreSQL database for pleroma
become: true
become_user: postgres
community.postgresql.postgresql_db:
name: pleroma
owner: pleroma
- name: Copy Pleroma config
ansible.builtin.template:
src: config.exs.j2
dest: /opt/pleroma/config/prod.secret.exs
owner: pleroma
mode: '0640'
- name: Build Pleroma
become: true
become_user: pleroma
environment:
MIX_ENV: prod
ansible.builtin.command:
cmd: mix ecto.migrate
chdir: /opt/pleroma