src.nth.io/

summaryrefslogtreecommitdiff
path: root/homebridge/tasks/main.yaml
blob: b9a4f708746eaf8aaaf4b921ff798dc7fdcf2cc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---

# 26.04 ships nodejs 22 in apt, so no repo.homebridge.io vendor repo (its
# package bundled a private node runtime). homebridge itself is an npm
# package; apt npm puts global installs under /usr/local.
- name: install nodejs
  become: yes
  apt:
    name:
      - "nodejs"
      - "npm"

- name: add homebridge user
  become: yes
  user: name="homebridge" shell="/bin/false" system="yes" create_home="no"

- name: create homebridge dir
  become: yes
  file:
    path: "{{homebridge_dir}}"
    state: "directory"
    owner: "homebridge"
    group: "homebridge"
    mode: "0755"

- name: npm install homebridge
  become: yes
  npm: name="homebridge" global="yes"
  notify: restart homebridge service

- name: install platform accessories
  become: yes
  npm: name="{{item}}" global="yes"
  loop: "{{homebridge_npm_packages}}"
  notify: restart homebridge service

# - name: configure homebridge
#   become: yes
#   template:
#     src: "{{homebridge_config_template}}"
#     dest: "{{homebridge_dir}}/config.json"
#   notify: restart homebridge service

- name: install systemd service
  become: yes
  template:
    src: "homebridge.service.j2"
    dest: "/lib/systemd/system/homebridge.service"
  notify: restart homebridge service

- name: ensure homebridge is started
  become: yes
  systemd: name="homebridge.service" enabled="yes" state="started" daemon_reload="yes"