90 lines
2.1 KiB
YAML
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
|