Add mineos hosts
This commit is contained in:
108
roles/sage905.mineos/tasks/main.yml
Executable file
108
roles/sage905.mineos/tasks/main.yml
Executable file
@@ -0,0 +1,108 @@
|
||||
---
|
||||
# tasks file for sage905.mineos
|
||||
- name: Install Development Tools
|
||||
become: true
|
||||
yum: name="@Development tools" state=present
|
||||
when: "{{ ansible_os_family == 'RedHat'}}"
|
||||
|
||||
- name: Install MineOS Dependencies
|
||||
become: true
|
||||
yum: name={{ item }} state=present enablerepo=epel
|
||||
with_items:
|
||||
- bind-utils
|
||||
- screen
|
||||
- git
|
||||
- wget
|
||||
- java-1.8.0-openjdk-headless.x86_64
|
||||
- openssl
|
||||
- openssl-devel
|
||||
- rsync
|
||||
- rdiff-backup
|
||||
when: "{{ ansible_os_family == 'RedHat'}}"
|
||||
|
||||
- name: Create minecraft group
|
||||
become: true
|
||||
group: name=minecraft state=present system=yes
|
||||
|
||||
- name: Create minecraft user
|
||||
become: true
|
||||
user:
|
||||
name: minecraft
|
||||
comment: "Minecraft Server"
|
||||
createhome: yes
|
||||
system: yes
|
||||
groups: minecraft
|
||||
home: /var/games/minecraft
|
||||
shell: /bin/bash
|
||||
state: present
|
||||
|
||||
- name: Create Directories
|
||||
become: true
|
||||
file: name=/usr/games/minecraft state=directory owner=minecraft group=minecraft mode=0775
|
||||
|
||||
- name: Allow group to access minecraft directory
|
||||
become: true
|
||||
file: name=/var/games/minecraft group=minecraft mode=0775
|
||||
|
||||
- name: Clone mineos git repo
|
||||
become: true
|
||||
become_user: minecraft
|
||||
git: repo=https://github.com/hexparrot/mineos-node.git dest=/usr/games/minecraft update={{ mineos_keep_updated }}
|
||||
notify: Restart mineos
|
||||
|
||||
- name: Set git core.filemode setting
|
||||
become: true
|
||||
become_user: minecraft
|
||||
ini_file:
|
||||
dest: /usr/games/minecraft/.git/config
|
||||
section: core
|
||||
option: filemode
|
||||
value: false
|
||||
|
||||
- name: Set file permissions
|
||||
become: true
|
||||
file: name=/usr/games/minecraft/{{ item }} owner=minecraft group=minecraft mode=0775
|
||||
with_items:
|
||||
- service.js
|
||||
- mineos_console.js
|
||||
- generate-sslcert.sh
|
||||
- webui.js
|
||||
|
||||
- name: Give minecraft group access to server dir
|
||||
become: true
|
||||
file: name=/var/games/minecraft/servers owner=minecraft group=minecraft mode=0775 state=directory
|
||||
|
||||
- name: Generate self-signed certs
|
||||
become: true
|
||||
command: /usr/games/minecraft/generate-sslcert.sh chdir=/usr/games/minecraft creates=/etc/ssl/certs/mineos.key
|
||||
when: "{{ mineos_generate_self_signed }}"
|
||||
|
||||
- name: Get Node Modules
|
||||
become: true
|
||||
become_user: minecraft
|
||||
npm: path=/usr/games/minecraft state=present production=true
|
||||
notify: Restart mineos
|
||||
|
||||
- name: Link to executable
|
||||
become: true
|
||||
file: src=/usr/games/minecraft/mineos_console.js dest=/usr/local/bin/mineos state=link
|
||||
notify: Restart mineos
|
||||
|
||||
- name: Install mineos config from distribution
|
||||
become: true
|
||||
template: src=mineos.conf dest=/etc/mineos.conf owner=root mode=0644
|
||||
notify: Restart mineos
|
||||
|
||||
- name: Install upstart config (RHEL <= 6)
|
||||
become: true
|
||||
copy: src=upstart_conf dest=/etc/init/mineos.conf
|
||||
notify:
|
||||
- Reload initctl
|
||||
- Restart mineos
|
||||
when: ansible_distribution == "Amazon" or (ansible_distribution == "CentOS" and ansible_distribution_major_version <= "6")
|
||||
|
||||
- name: Link systemd config (RHEL 7)
|
||||
become: true
|
||||
file: src=/usr/games/minecraft/init/systemd_conf dest=/etc/systemd/system/mineos.service state=link
|
||||
notify: Restart mineos
|
||||
when: (ansible_distribution == "CentOS" and ansible_distribution_major_version == "7")
|
||||
Reference in New Issue
Block a user