1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 19:52:06 +00:00
iiab/roles/nodered/tasks/main.yml

103 lines
3.1 KiB
YAML
Raw Normal View History

- name: Set up Node.js 8.x apt sources (debuntu, but avoid ubuntu-18)
shell: curl -sL https://deb.nodesource.com/setup_8.x | bash -
args:
warn: no
when: internet_available and is_debuntu and not is_ubuntu_18 and nodered_install
- name: Install latest Node.js which includes /usr/bin/npm (debuntu, but avoid ubuntu-18)
2018-06-27 19:44:57 +00:00
package:
name: nodejs
# name: nodejs=8.x
state: latest
# state: present
when: internet_available and is_debuntu and not is_ubuntu_18 and nodered_install
2018-06-27 11:17:44 +00:00
# 2018-07-14: BOTH STEPS ABOVE TAKE TIME, but Raspbian (apt offers npm
# 1.4.21) & Debian 9 (apt offers no npm!) STILL NEED the above
# nodesource.com approach to get a version of npm that works with Sugarizer:
# https://github.com/iiab/iiab/issues/798#issuecomment-404324530
#
# MORE POSITIVELY: this nodesource.com approach (brings in npm 5.6.0 with
# nodejs 8.11.3 for now, to any OS) would also work on Ubuntu 18.04, and
# might even bring about a sane consistency across mainline OS's?
#
# BUT FOR NOW: Ubuntu 18.04's apt (approach below) brings in npm 3.5.2,
# which appears suffic "SO FAR"? 18.04's nodejs 8.10.0 is more reassuring!
# CRAZY IDEA: most versions of npm can upgrade themselves to the latest
# (6.2.0 for now) using command "npm install -g npm", if that helps us in
# future, e.g. TK's memory issue etc? If so, be CAREFUL this puts npm
# in /usr/local/bin on Ubuntu 18.04 -- unlike Ubuntu 16.04 and Raspbian
# where it upgrades /usr/bin/npm in place:
# https://askubuntu.com/questions/1036278/npm-is-incorrect-version-on-latest-ubuntu-18-04-installation
- name: Install latest packages nodejs and npm (ubuntu-18 or not debuntu)
2018-06-27 19:44:57 +00:00
package:
name:
- nodejs
- npm
state: latest
when: internet_available and (is_ubuntu_18 or not is_debuntu) and nodered_install
2018-06-27 11:17:44 +00:00
- name: Install node-red packages globally.
shell: npm install -g --unsafe-perm node-red node-red-admin node-red-dashboard
when: nodered_install
2018-06-27 11:17:44 +00:00
- name: Create nodered usergroup
group:
name: nodered
state: present
when: nodered_install
2018-06-27 11:17:44 +00:00
- name: Add the user nodered and add to nodered group
user:
name: nodered
group: nodered
when: nodered_install
2018-06-27 11:17:44 +00:00
- name: Create /home/nodered/.node-red/ directory
file:
path: "/home/nodered/.node-red"
state: directory
owner: nodered
group: nodered
mode: 0775
when: nodered_install
2018-06-27 11:17:44 +00:00
- name: Copy settings.js file with authentication
template:
backup: yes
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: nodered
group: nodered
mode: "{{ item.mode }}"
with_items:
- { src: 'settings.js.j2' , dest: '/home/nodered/.node-red/settings.js', mode: '0755' }
when: nodered_install
2018-06-27 11:17:44 +00:00
- name: Create node-red systemd file
template:
backup: yes
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: root
group: root
mode: "{{ item.mode }}"
with_items:
- { src: 'node-red.service.j2' , dest: '/etc/systemd/system/node-red.service', mode: '0755' }
when: nodered_install
2018-06-27 11:17:44 +00:00
- name: Enable node-red
service:
name: node-red
enabled: yes
when: nodered_enabled
- name: Start node-red
service:
name: node-red
state: started
when: nodered_enabled