- name: Copy production build config copy: dest: '/home/repositories/pleroma/config/prod.secret.exs' content: 'import Mix.Config' follow: yes tags: - pleroma - build - name: Fetch dependencies loop: - "mix local.hex --force" - "mix local.rebar --force" - "mix deps.get --only prod --force" shell: chdir: "/home/repositories/pleroma/" cmd: "MIX_ENV=prod {{ item }}" tags: - pleroma - build - name: Ensure that output dir is created file: path: "{{ pleroma.root }}" state: directory follow: yes tags: - pleroma - build - name: Copy custom files loop: - "priv/static/static/themes/redxen.json" - "priv/static/static/styles.json" - "priv/static/static/background.jpg" - "priv/static/static/logo.png" - "priv/static/favicon.png" - "priv/static/static/terms-of-service.html" copy: src: '{{ role_path }}/files/{{ item }}' dest: '/home/repositories/pleroma/{{ item }}' tags: - pleroma - name: Build pleroma shell: chdir: "/home/repositories/pleroma/" cmd: "MIX_ENV=prod mix release --path {{ pleroma.root }} --force" tags: - pleroma - build - name: Change ownership of build output shell: chdir: "/etc/pleroma" cmd: "chown -R nobody:root ." warn: false tags: - pleroma - build - name: Copy configuration files loop: - "config.exs" - "mrf.exs" template: src: "{{ item }}.j2" dest: "/etc/pleroma/{{ item }}" follow: yes owner: "nobody" group: "root" mode: "700" tags: - pleroma - configs - name: Copy secrets template: src: "{{ role_path }}/vault/secret.exs" dest: "/etc/pleroma/secret.exs" follow: yes owner: "nobody" group: "root" mode: "700" tags: - pleroma - vault - name: Copy systemd service file template: follow: yes src: 'pleroma.service.j2' dest: '/etc/systemd/system/pleroma.service' notify: Restart services tags: - pleroma - systemd - name: Make the binary exectuable file: mode: "755" path: "/etc/pleroma/bin/pleroma" tags: - pleroma - build