--- # tasks file for teamspeak - name: "Load OS specific variables" include_vars: "{{ item }}" with_first_found: - files: - "{{ ansible_distribution|lower }}.yml" - "{{ ansible_os_family|lower }}.yml" - "{{ ansible_system|lower }}.yml" - main.yml paths: - ../vars tags: - teamspeak - name: Create Teamspeak user user: name: "{{ teamspeak.user }}" comment: "{{ teamspeak.comment }}" home: "{{ teamspeak.home }}" shell: "{{ teamspeak.shell }}" system: yes tags: - teamspeak - name: Download TeamSpeak 3 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 }}" tags: - teamspeak - name: Create TeamSpeak 3 server directory file: path: "{{ teamspeak.home}}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}" state: directory owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" tags: - teamspeak - name: Extract TeamSpeak 3 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 }}/" creates: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}/teamspeak3-server_linux_amd64" owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" tags: - teamspeak # Updater idea # 1. Check if user files exist under symlinked directory. # 2. true? Copy user files to directory of new TeamSpeak3 server version. # 3. Stop currently running TeamSpeak 3 Server (under symlinked directory). # 4. Create/Update symlink # 5. notify systemd of the update # 6. Start new TeamSpeak 3 server - name: Create/Update symlink to TeamSpeak 3 server {{ teamspeak.version }} file: src: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}/teamspeak3-server_linux_amd64" dest: "{{ teamspeak.home }}/{{ teamspeak.symlink }}" state: link owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" tags: - teamspeak - name: Add 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 tags: - teamspeak # Perform the "reload systemd" handler now. # Before we start using the new/changed .service file. - meta: flush_handlers tags: - teamspeak - name: Enable and start TeamSpeak 3 server service: name: teamspeak3-server state: started enabled: yes tags: - teamspeak