diff options
Diffstat (limited to 'tasks')
| -rw-r--r-- | tasks/config.yml | 20 | ||||
| -rw-r--r-- | tasks/install.yml | 69 | ||||
| -rw-r--r-- | tasks/main.yml | 78 | 
3 files changed, 84 insertions, 83 deletions
diff --git a/tasks/config.yml b/tasks/config.yml index 11e57ff..3e9f003 100644 --- a/tasks/config.yml +++ b/tasks/config.yml @@ -1,23 +1,15 @@  --- -# Config files and actions for teamspeak3 server -- name: Short facts +# configuration tasks for teamspeak +- name: Set TeamSpeak 3 Server directory fact    set_fact:      ts3server_dir: "{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64" -- name: Create ts3server.ini  +- name: Create TeamSpeak 3 Server configuration file    template:      src: ts3server.ini.j2  -    dest: "{{ ts3server_dir }}/ts3server.ini" +    dest: "{{ ts3server_dir }}/{{ teamspeak_ini_filename }}"      mode: 0644      owner: "{{ teamspeak.user }}"      group: "{{ teamspeak.user }}" -  register: ts3server_ini - -- name: Create teamspeak 3 server logs folder  -  file:  -    path: "{{ teamspeak_ini.logpath }}" -    state: directory -    mode: 0755 -    owner: "{{ teamspeak.user }}" -    group: "{{ teamspeak.user }}" - +  notify: +    - Restart TeamSpeak 3 Server diff --git a/tasks/install.yml b/tasks/install.yml new file mode 100644 index 0000000..98d7253 --- /dev/null +++ b/tasks/install.yml @@ -0,0 +1,69 @@ +--- +# 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 + diff --git a/tasks/main.yml b/tasks/main.yml index 4d93664..1b171df 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -12,79 +12,19 @@        paths:           - ../vars -- 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 +# Installation of TeamSpeak 3 Server  +- include: install.yml +# Configuration of TeamSpeak 3 Server (if requested)  - include: config.yml -  when: teamspeak_ini is defined or teamspeak.ini_file is none and teamspeak_ini.disable is false  +  when: teamspeak_ini_enabled -- 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 - -# Perform the "Reload systemd" (and possibly queued clean-up) handler now. -# Before we start using the new/changed .service file. +# Perform the running of handlers now +# So we can do "Reload systemd" (and possibly queued clean-up)  +# before we start using the new/changed .service file.  - meta: flush_handlers - -- name: Enable and start TeamSpeak 3 server +# Make sure TeamSpeak 3 Server is started and enabled +- name: Enable and start TeamSpeak 3 Server    service:      name: teamspeak3-server      state: started  | 
