--- - hosts: xsnd gather_facts: no roles: - ubuntu-16-04 vars: - xsn_user: xsn - xsn_group: xsn - xsn_home: /home/xsn - xsn_config_dir: /home/xsn/.xsncore - xsn_download_url: https://github.com/X9Developers/XSN/releases/download/1.0.18/xsn-1.0.18-x86_64-linux-gnu.tar.gz - xsn_download_dest: /home/ubuntu/xsn.tar.gz - xsn_download_checksum: sha1:b657a9e5dce6193d051d64eab4c40686f41e0b98 - xsn_unarchive_dest: /home/xsn/app tasks: - name: Create the xsn group become: yes group: name={{ xsn_group }} state=present - name: Create the xsn user become: yes user: name={{ xsn_user }} group={{ xsn_group }} state=present system=yes - name: Create the app directory become: yes file: path={{ xsn_home }}/app state=directory owner={{ xsn_user }} group={{ xsn_group }} - name: Create the config directory become: yes file: path={{ xsn_config_dir }} state=directory owner={{ xsn_user }} group={{ xsn_group }} - name: Download the xsnd get_url: url={{ xsn_download_url }} dest={{ xsn_download_dest }} checksum={{ xsn_download_checksum }} - name: Unpack the application become: yes unarchive: remote_src=yes src={{ xsn_download_dest }} dest={{ xsn_unarchive_dest }} owner={{ xsn_user }} group={{ xsn_group }} - name: Move the application to the right folder become: yes command: mv {{ xsn_unarchive_dest }}/xsn-1.0.18/bin/xsnd {{ xsn_unarchive_dest }} - name: Set the application config become: yes copy: src=config/xsn.conf dest={{ xsn_config_dir }}/xsn.conf owner={{ xsn_user }} group={{ xsn_group }} - name: Set the application files permissions become: yes file: dest={{ xsn_home }} owner={{ xsn_user }} group={{ xsn_group }} recurse=yes - name: Add the systemd service become: yes copy: src: systemd-services/xsn-rpc.service dest: /etc/systemd/system/ owner: root group: root - name: Pick up systemd changes become: yes systemd: daemon_reload: yes - name: Restart the application become: yes systemd: name: xsn-rpc state: restarted - name: Enable the application to run on system startup become: yes systemd: name: xsn-rpc enabled: yes