diff options
author | Stefan <stefan@sjoosten.nl> | 2016-08-23 16:34:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-23 16:34:45 +0200 |
commit | 5f98c5659e7341d07c849261abcf283184104568 (patch) | |
tree | 79f078b91ed8dece4638416016f662c6f7d7782c | |
parent | 9c055a880110226dfae26db9a92a7d6c34b7bb11 (diff) | |
parent | 7a8008c94ce13515cd500d7b5ccfd1798690d765 (diff) | |
download | ansible-teamspeak-5f98c5659e7341d07c849261abcf283184104568.tar.gz ansible-teamspeak-5f98c5659e7341d07c849261abcf283184104568.tar.xz ansible-teamspeak-5f98c5659e7341d07c849261abcf283184104568.zip |
Merge pull request #10 from EggieCode/issue-e1
Patches to fix issue #1. Thank you.
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | README.md | 17 | ||||
-rw-r--r-- | defaults/main.yml | 18 | ||||
-rw-r--r-- | tasks/config.yml | 23 | ||||
-rw-r--r-- | tasks/main.yml | 3 | ||||
-rw-r--r-- | templates/teamspeak3-server.service.j2 | 5 | ||||
-rw-r--r-- | templates/ts3server.ini.j2 | 17 |
7 files changed, 84 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..783cd5b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.swp + @@ -31,6 +31,23 @@ Role Variables * <tt>teamspeak.version</tt>: Version of Teamspeak 3 Server to install. Defaults to "3.0.12.4". * <tt>teamspeak.checksum</tt>: SHA256 checksum of archive of TeamSpeak 3 server version for verification purposes. Example: "sha256:6bb0e8c8974fa5739b90e1806687128342b3ab36510944f576942e67df7a1bd9" * <tt>teamspeak.keep</tt>: Amount of TeamSpeak 3 server versions to keep installed, includes current version. A setting of "2" keeps the current and one previous version installed. +* <tt>teamspeak.ini_file</tt>: Set the teamspeak ini file. If not set it will not generate. + +* <tt>teamspeak_ini.machine_id</tt>: Teamspeak server machine ID, used for multiple instances on the save database. +* <tt>teamspeak.voice</tt>: Properties of the voice server +* <tt>teamspeak.voice.ip</tt>: Voice server bind IP +* <tt>teamspeak.voice.create_default</tt>: Let teamspeak3 server on first start create default server (TODO #7) +* <tt>teamspeak.voice.default_port</tt>: Default voice server port (TODO #7) +* <tt>teamspeak.filetransfer</tt>: Properties of the file transfer server +* <tt>teamspeak.filetransfer.ip</tt>: File transfer server bind IP +* <tt>teamspeak.filetransfer.port</tt>: File transfer server listen port +* <tt>teamspeak.query</tt>: Properties of the server query +* <tt>teamspeak.query.ip</tt>: Server query bind IP +* <tt>teamspeak.query.port</tt>: Server query listen port +* <tt>teamspeak.db_plugin</tt>: Teamspeak database system (TODO #4) +* <tt>teamspeak.logpath</tt>: Teamspeak logpath. Must be absolute +* <tt>teamspeak.logquerycommand</tt>: Teamspeak log all query command + <tt>vars/{debian,redhat}.yml</tt>: diff --git a/defaults/main.yml b/defaults/main.yml index fd667dc..ca9739a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -10,3 +10,21 @@ teamspeak: version: "3.0.12.4" checksum: "sha256:6bb0e8c8974fa5739b90e1806687128342b3ab36510944f576942e67df7a1bd9" keep: 2 + ini_file: ts3server.ini + +teamspeak_ini: + disabled: true + machine_id: "" + voice: + ip: 0.0.0.0 + create_default: true + default_port: 9987 + filetransfer: + ip: 0.0.0.0 + port: 10011 + query: + ip: 0.0.0.0 + port: 33003 + db_plugin: ts3db_sqlite3 + logpath: /var/log/teamspeak3-server + logquerycommands: false diff --git a/tasks/config.yml b/tasks/config.yml new file mode 100644 index 0000000..11e57ff --- /dev/null +++ b/tasks/config.yml @@ -0,0 +1,23 @@ +--- +# Config files and actions for teamspeak3 server +- name: Short facts + set_fact: + ts3server_dir: "{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64" + +- name: Create ts3server.ini + template: + src: ts3server.ini.j2 + dest: "{{ ts3server_dir }}/ts3server.ini" + 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 }}" + diff --git a/tasks/main.yml b/tasks/main.yml index 3486eb2..4d93664 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -67,6 +67,9 @@ notify: - Restart TeamSpeak 3 Server +- include: config.yml + when: teamspeak_ini is defined or teamspeak.ini_file is none and teamspeak_ini.disable is false + - name: Install TeamSpeak 3 systemctl service file template: src: teamspeak3-server.service.j2 diff --git a/templates/teamspeak3-server.service.j2 b/templates/teamspeak3-server.service.j2 index 4579694..03a8be3 100644 --- a/templates/teamspeak3-server.service.j2 +++ b/templates/teamspeak3-server.service.j2 @@ -7,8 +7,11 @@ Type=simple User={{ teamspeak.user }} Group={{ teamspeak.user }} WorkingDirectory={{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64 -Environment='LD_LIBRARY_PATH="{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/:$LD_LIBRARY_PATH"' +{% if teamspeak.ini_file is not none %} +ExecStart={{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/ts3server_minimal_runscript.sh inifile={{ teamspeak.ini_file }} +{% else %} ExecStart={{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/ts3server_minimal_runscript.sh +{% endif %} [Install] WantedBy=multi-user.target diff --git a/templates/ts3server.ini.j2 b/templates/ts3server.ini.j2 new file mode 100644 index 0000000..ee6d6f3 --- /dev/null +++ b/templates/ts3server.ini.j2 @@ -0,0 +1,17 @@ +machine_id={{ teamspeak_ini.machine_id }} + +default_voice_port={{teamspeak_ini.voice.default_port}} +voice_ip={{teamspeak_ini.voice.ip}} + +query_port={{teamspeak_ini.query.port}} +query_ip={{teamspeak_ini.query.ip}} + +filetransfer_port={{teamspeak_ini.filetransfer.port}} +filetransfer_ip={{teamspeak_ini.filetransfer.ip}} + +dbplugin={{ teamspeak_ini.db_plugin }} +dbpluginparameter={{ 'ts3db_mysql.ini' if teamspeak_ini.db_plugin == 'ts3db_mysql' else '' }} +dbsqlpath=sql/ +dbsqlcreatepath={{ 'create_mysql/' if teamspeak_ini.db_plugin == 'ts3db_mysql' else 'create_sqlite/' }} +logpath={{ teamspeak_ini.logpath }} +logquerycommands={{ teamspeak_ini.logquerycommands }} |