---

- name: add erland solutions key
  become: yes
  apt_key: url="http://packages.erlang-solutions.com/debian/erlang_solutions.asc"

- name: install erland solutions repo
  become: yes
  apt_repository: repo="deb http://binaries.erlang-solutions.com/debian buster contrib"

- name: update apt package cache
  become: yes
  apt: upgrade="dist" update_cache="yes" cache_valid_time="3600"

- name: install pleroma apt packages
  become: yes
  apt: name="{{pleroma_apt_packages}}"

- name: add users
  become: yes
  user: name="{{pleroma_user}}" shell="/bin/bash"

- name: checkout plemora
  become: yes
  become_user: "{{pleroma_user}}"
  git:
    repo: "https://git.pleroma.social/pleroma/pleroma.git"
    dest: "~{{pleroma_user}}/pleroma"
    version: "{{pleroma_version}}"
    force: yes

- name: install pleroma config files
  template:
    src: "{{item}}.j2"
    dest: "~{{pleroma_user}}/pleroma/config/{{item}}"
    owner: "{{pleroma_user}}"
    group: "{{pleroma_user}}"
    mode: "0775"
  become: yes
  with_items:
    - "setup_db.psql"
    - "prod.secret.exs"
  notify: restart pleroma

- name: install pleroma psql
  become: yes
  become_user: "{{pleroma_db_superuser}}"
  command: "psql -f ~{{pleroma_user}}/pleroma/config/setup_db.psql"
  notify: restart pleroma

# - name: restore
#   postgresql_db:
#     state: "restore"
#     db: "{{pleroma_user}}"
#     target: "/tmp/{{pleroma_user}}-backup.sql"
#     login_user: "{{pleroma_user}}"
#     login_password: "{{pleroma_db_passwd}}"
#     login_host: "{{pleroma_db_host}}"
#   when: "{{pleroma_restore_db}}"

- name: migrate db
  become: yes
  become_user: "{{pleroma_user}}"
  command: "{{item}}"
  args:
    chdir: "~{{pleroma_user}}/pleroma/"
  with_items:
    - "mix local.hex --force"
    - "mix local.rebar --force"
    - "mix deps.get"
    - "mix ecto.migrate"
  notify: restart pleroma
  environment:
    MIX_ENV: "prod"

- name: install pleroma systemd service
  template:
    src: "pleroma.service.j2"
    dest: "/lib/systemd/system/{{pleroma_user}}.service"
    owner: "{{pleroma_user}}"
    group: "{{pleroma_user}}"
    mode: "0770"
  become: yes

- name: enable pleroma systemd service
  systemd: name="{{pleroma_user}}" enabled="yes" state="started"
  become: yes


# - name: backup db
#   postgresql_db:
#     state: "dump"
#     db: "{{pleroma_user}}"
#     target: "/tmp/{{pleroma_user}}-backup.sql"
#     login_user: "{{pleroma_user}}"
#     login_password: "{{pleroma_db_passwd}}"
#     login_host: "{{pleroma_db_host}}"





# pg_dump -U pleroma_nth_io -h pleroma.ctzpnw3lfkwz.us-east-1.rds.amazonaws.com pleroma_nth_io -f pleroma_nth_io_dump.sql
