--- # This role installs packages that every Mastodon server needs and does common # node setup - name: Install required ansible things shell: apt-get update && apt-get -y install python-apt apt-transport-https git sudo - name: Add Nodesource apt key apt_key: url="https://deb.nodesource.com/gpgkey/nodesource.gpg.key" state=present - name: Add Nodesource apt repositories apt_repository: repo={{ item }} state=present with_items: - "deb https://deb.nodesource.com/node_8.x {{ ansible_distribution_release }} main" - "deb-src https://deb.nodesource.com/node_8.x {{ ansible_distribution_release }} main" - name: Add Yarnpkg apt key apt_key: url="https://dl.yarnpkg.com/debian/pubkey.gpg" state=present - name: Add Yarnpkg apt repository apt_repository: repo="deb https://dl.yarnpkg.com/debian/ stable main" state=present # Note that we don't install nginx, letsencrypt, postgresql and redis here, that will be in different roles - name: Update apt cache and install various dependencies apt: name={{ item }} state=latest update_cache=yes with_items: - imagemagick - ffmpeg - libpq-dev - libxml2-dev - libxslt1-dev - file - git-core - g++ - libprotobuf-dev - protobuf-compiler - pkg-config - nodejs - gcc - autoconf - bison - build-essential - libssl-dev - libyaml-dev - libreadline6-dev - zlib1g-dev - libncurses5-dev - libffi-dev - libgdbm-dev - yarn - libidn11-dev - libicu-dev - libjemalloc1 - libjemalloc-dev - name: Add mastodon system user user: name=mastodon shell=/bin/bash state=present