Advertisement
Guest User

Untitled

a guest
Mar 5th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. ---
  2. - hosts: all
  3. remote_user: root
  4. tasks:
  5. - name: Update packages
  6. pacman:
  7. update_cache: yes
  8. upgrade: yes
  9.  
  10. - name: Install several packages
  11. pacman:
  12. name: "{{ item }}"
  13. state: latest
  14. with_items:
  15. - sudo
  16. - git
  17. - nodejs
  18. - npm
  19. - mongodb
  20. - nginx
  21. - xorg-server
  22. - xorg-xinit
  23. - xterm
  24. - nodm
  25. - i3
  26. - dmenu
  27. - ttf-dejavu
  28.  
  29. - name: Activate sudo for group 'wheel'
  30. lineinfile:
  31. dest: /etc/sudoers
  32. line: '%wheel ALL=(ALL) ALL'
  33.  
  34. - name: Add the user 'fetsy'
  35. user:
  36. name: fetsy
  37. password: $6$hGO2R6SH1cl9Ku$.kZD05.RaE/KysSj.HY.myya4N9UbKV1KpWVtA55iC1Bl1oWRwKiuLEWqlehvBhEH8g7YJSyj2UX0MkBomraH0
  38. groups: wheel
  39. append: yes
  40.  
  41.  
  42. - hosts: all
  43. remote_user: root
  44. become: yes
  45. become_user: fetsy
  46. tasks:
  47. - name: Download FeTSy Hammertag
  48. git:
  49. repo: https://github.com/normanjaeckel/FeTSy-Hammertag
  50. dest: "{{ fetsy_dir }}"
  51. update: yes
  52.  
  53. - name: Install NodeJS modules for FeTSy Hammertag
  54. npm:
  55. path: "{{ fetsy_dir }}"
  56.  
  57. #- name: Re-Run FeTSy Hammertag gulp tasks with production flag
  58. # command: "node_modules/.bin/gulp --production"
  59. # args:
  60. # chdir: "{{ fetsy_dir }}"
  61.  
  62. - name: Setup user specific Xorg config
  63. template:
  64. dest: /home/fetsy/.xinitrc
  65. src: xinitrc
  66. mode: 0750
  67.  
  68. - name: Setup i3 configuration
  69. template:
  70. dest: /home/fetsy/.config/i3/config
  71. src: i3_config
  72.  
  73.  
  74. - hosts: all
  75. remote_user: root
  76. tasks:
  77. - name: Setup NginX configuration
  78. template:
  79. dest: /etc/nginx/nginx.conf
  80. src: nginx.conf
  81.  
  82. - name: Setup FeTSy Hammertag systemd unit
  83. blockinfile:
  84. dest: /etc/systemd/system/fetsy-hammertag.service
  85. create: yes
  86. block: |
  87. [Unit]
  88. Description=FeTSy Hammertag server app (ExpressJS app)
  89. Requires=mongodb.service nginx.service
  90.  
  91. [Service]
  92. Type=simple
  93. ExecStart=/usr/bin/node dist/server/server.js
  94. WorkingDirectory={{ fetsy_dir }}
  95. Restart=always
  96. RestartSec=5
  97. User=fetsy
  98. Group=fetsy
  99. Environment=NODE_ENV=production DEBUG='' FETSY_PORT={{ fetsy_port }}
  100.  
  101. [Install]
  102. WantedBy=multi-user.target
  103.  
  104. - name: Setup nodm configuration
  105. blockinfile:
  106. dest: /etc/nodm.conf
  107. block: |
  108. NODM_USER=fetsy
  109. NODM_XSESSION=/home/fetsy/.xinitrc
  110.  
  111. - name: Setup pam.d configuration for nodm
  112. blockinfile:
  113. dest: /etc/pam.d/nodm
  114. create: yes
  115. block: |
  116. #%PAM-1.0
  117.  
  118. auth include system-login
  119. account include system-login
  120. password include system-login
  121. session include system-login
  122.  
  123. - name: Enable systemd units
  124. systemd:
  125. name: "{{ item }}"
  126. enabled: yes
  127. with_items:
  128. - fetsy-hammertag.service
  129. - nodm.service
  130.  
  131.  
  132. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement