--- # install tasks file for teamspeak # Start of installation - name: Create Teamspeak user user: name: "{{ teamspeak.user }}" comment: "{{ teamspeak.comment }}" home: "{{ teamspeak.home }}" shell: "{{ teamspeak.shell }}" system: yes - name: Download TeamSpeak {{ teamspeak.version }} Server files get_url: url: "http://dl.4players.de/ts/releases/{{ teamspeak.version }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" dest: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" checksum: "{{ teamspeak.checksum }}" owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" - name: Create TeamSpeak {{ teamspeak.version }} Server directory file: path: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}" state: directory owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" register: mkdir # If a new directory has been created, check for (current) user data. - name: Checking for a currently installed TeamSpeak 3 Server with user data stat: path: "{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/files" register: userdata when: mkdir.changed # If user data has been found, this is an upgrade situation. - include: ts3update.yml when: userdata.stat.exists is defined and userdata.stat.exists == True # Created a new directory? Extract the files into it. Overwrites existing. - name: Extract TeamSpeak {{ teamspeak.version }} Server files unarchive: copy: no src: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" dest: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}/" owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" when: mkdir.changed - name: Create/Update symlink to TeamSpeak {{ teamspeak.version }} Server file: src: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}" dest: "{{ teamspeak.home }}/{{ teamspeak.symlink }}" state: link owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" notify: - Restart TeamSpeak 3 Server - name: Install TeamSpeak 3 systemctl service file template: src: teamspeak3-server.service.j2 dest: "{{ systemd_service_file_path }}/teamspeak3-server.service" mode: 0644 owner: root group: root notify: - Reload systemd - Restart TeamSpeak 3 Server