diff options
Diffstat (limited to 'homebridge')
| -rw-r--r-- | homebridge/defaults/main.yaml | 9 | ||||
| -rw-r--r-- | homebridge/handlers/main.yaml | 5 | ||||
| -rw-r--r-- | homebridge/meta/main.yaml | 4 | ||||
| -rw-r--r-- | homebridge/tasks/main.yaml | 54 | ||||
| -rw-r--r-- | homebridge/templates/homebridge.service.j2 | 16 |
5 files changed, 88 insertions, 0 deletions
diff --git a/homebridge/defaults/main.yaml b/homebridge/defaults/main.yaml new file mode 100644 index 0000000..4e56379 --- /dev/null +++ b/homebridge/defaults/main.yaml @@ -0,0 +1,9 @@ +--- + +homebridge_user: "homebridge" +homebridge_groups: "video" +homebridge_dir: "/home/{{homebridge_user}}" +homebridge_restart_sec: "10" + +homebridge_pin: "031-45-154" +homebridge_port: "51900" diff --git a/homebridge/handlers/main.yaml b/homebridge/handlers/main.yaml new file mode 100644 index 0000000..e711d82 --- /dev/null +++ b/homebridge/handlers/main.yaml @@ -0,0 +1,5 @@ +--- + +- name: restart homebridge service + systemd: name="homebridge" state="restarted" daemon_reload="yes" + become: yes diff --git a/homebridge/meta/main.yaml b/homebridge/meta/main.yaml new file mode 100644 index 0000000..6116998 --- /dev/null +++ b/homebridge/meta/main.yaml @@ -0,0 +1,4 @@ +--- + +dependencies: + - nodejs diff --git a/homebridge/tasks/main.yaml b/homebridge/tasks/main.yaml new file mode 100644 index 0000000..59f2f76 --- /dev/null +++ b/homebridge/tasks/main.yaml @@ -0,0 +1,54 @@ +--- + +- name: create homebridge user + become: yes + user: + name: "{{homebridge_user}}" + comment: "Homebridge" + shell: "/bin/false" + home: "{{homebridge_dir}}" + groups: "{{homebridge_groups}}" + move_home: yes + notify: restart homebridge service + +- name: create homebridge directory + become: yes + file: + path: "{{homebridge_dir}}" + state: "directory" + owner: "{{homebridge_user}}" + group: "{{homebridge_user}}" + mode: "0755" + +- name: install homebridge apt deps + become: yes + apt: name="{{homebridge_apt_packages}}" + +- name: install homebridge + become: yes + npm: name="homebridge" global="yes" + notify: restart homebridge service + +- name: install platform accessories + become: yes + npm: name="{{item}}" global="yes" + with_items: "{{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: configure 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" diff --git a/homebridge/templates/homebridge.service.j2 b/homebridge/templates/homebridge.service.j2 new file mode 100644 index 0000000..a20ff99 --- /dev/null +++ b/homebridge/templates/homebridge.service.j2 @@ -0,0 +1,16 @@ +# {{ansible_managed}} + +[Unit] +Description=Homebridge + +[Service] +User={{homebridge_user}} +Group={{homebridge_user}} +Restart=always +RestartSec={{homebridge_restart_sec}} + +WorkingDirectory={{homebridge_dir}} +ExecStart=/usr/bin/node /opt/{{nodejs_dir}}/bin/homebridge -U {{homebridge_dir}} + +[Install] +WantedBy=default.target |
