--- - name: Init db ansible.builtin.include_tasks: db.yml - name: Create mastodon user ansible.builtin.user: name: mastodon comment: "John Mastodon" password: '!' shell: /bin/bash home: "{{ mastodon_home }}" - name: Create mastodon .ssh dir ansible.builtin.file: state: directory path: "{{ mastodon_home }}/.ssh" mode: "0o755" owner: mastodon group: mastodon - name: Set ssh for mastodon user ansible.builtin.copy: remote_src: true src: /root/.ssh/authorized_keys dest: "{{ mastodon_home }}/.ssh/authorized_keys" mode: "0o644" owner: mastodon group: mastodon - name: Install prereq ansible.builtin.package: name: - imagemagick - ffmpeg - libpq-dev - libxml2-dev - libxslt1-dev - file - git-core - g++ - libprotobuf-dev - libvips-tools - protobuf-compiler - pkg-config - nodejs - gcc - autoconf - bison - build-essential - libssl-dev - libyaml-dev - libreadline6-dev - zlib1g-dev - libncurses5-dev - libffi-dev - libgdbm-dev - libidn11-dev - libicu-dev - libjemalloc-dev state: present update_cache: true - name: Install rbenv ansible.builtin.include_tasks: rbenv.yml - name: Install mastodon ansible.builtin.include_tasks: mastodon.yml - name: Put env file ansible.builtin.template: src: "env.production.j2" dest: "{{ mastodon_home }}/live/.env.production" user: mastodon group: mastodon mode: "0o600" notify: - Restart mastodon - name: Install tootctl cron ansible.builtin.include_tasks: cron.yml