I am trying to setup node-red-contrib-alexa-home (node) - Node-RED to get my devices accessible via alexa, but I am having a hell of a time trying to do it. It says in the documentation that
Alexa devices of generation #3 are not using the information used within the detection process. They do rely that all communication is done on port 80!
Which they go on to say that you can define an environment variable of ALEXA_PORT=80 or do ip tables stuff. But the issue is I believe port 80 is already bound to something:
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 12761/containers-ro
tcp 0 0 127.0.0.1:8091 0.0.0.0:* LISTEN 11426/containers-ro
tcp 0 0 127.0.0.1:1880 0.0.0.0:* LISTEN 145287/containers-r
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3551/nginx: master
tcp 0 0 10.10.2.1:1880 0.0.0.0:* LISTEN 145287/containers-r
tcp 0 0 0.0.0.0:18080 0.0.0.0:* LISTEN 3551/nginx: master
tcp6 0 0 :::8086 :::* LISTEN 7942/containers-roo
udp6 0 0 :::8089 :::* 7942/containers-roo
So whenever try to deploy, it just crashes node red with this:
Dec 23 11:51:59.165792 Collective-Core conmon[144238]: 23 Dec 11:51:59 - [info] Started flows
Dec 23 11:51:59.329067 Collective-Core conmon[144238]: 23 Dec 11:51:59 - [red] Uncaught Exception:
Dec 23 11:51:59.330819 Collective-Core conmon[144238]: 23 Dec 11:51:59 - [error] Error: listen EACCES: permission denied 0.0.0.0:80
Dec 23 11:51:59.330868 Collective-Core conmon[144238]: at Server.setupListenHandle [as _listen2] (node:net:1355:21)
Dec 23 11:51:59.330889 Collective-Core conmon[144238]: at listenInCluster (node:net:1420:12)
Dec 23 11:51:59.330910 Collective-Core conmon[144238]: at doListen (node:net:1559:7)
Dec 23 11:51:59.330927 Collective-Core conmon[144238]: at processTicksAndRejections (node:internal/process/task_queues:84:21)
Dec 23 11:51:59.631550 Collective-Core podman[144447]: 2022-12-23 11:51:59.631387593 -0800 PST m=+0.151945109 container died 3c8069a63da0df821aa1a6849c8bbe6031b0d2bb1d4cc4d0544f8c4ad55b2a84 (image=container.oh-lalabs.com/oh-lalabs/node-red:3, name=oll-node-red)
Dec 23 11:51:59.792350 Collective-Core podman[144447]: 2022-12-23 11:51:59.791966932 -0800 PST m=+0.312524406 container remove 3c8069a63da0df821aa1a6849c8bbe6031b0d2bb1d4cc4d0544f8c4ad55b2a84 (image=container.oh-lalabs.com/oh-lalabs/node-red:3, name=oll-node-red, org.label-schema.description=Low-code programming for event-driven applications., org.label-schema.vcs-ref=, org.label-schema.arch=arm64v8, org.label-schema.docker.dockerfile=.docker/Dockerfile.marjebian, org.label-schema.license=Apache-2.0, org.label-schema.name=Node-RED, org.label-schema.vcs-type=Git, PODMAN_SYSTEMD_UNIT=podman-oll-node-red.service, org.label-schema.version=, org.label-schema.url=https://nodered.org, org.label-schema.vcs-url=https://github.com/node-red/node-red-docker, org.label-schema.build-date=2022-08-20T15:52:24Z)
Dec 23 11:51:59.808863 Collective-Core systemd[1]: podman-oll-node-red.service: Main process exited, code=exited, status=1/FAILURE
Dec 23 11:51:59.986248 Collective-Core oll-node-red[144462]: Error: no arguments are needed with --latest or --cidfile
Dec 23 11:51:59.993834 Collective-Core systemd[1]: podman-oll-node-red.service: Control process exited, code=exited, status=125/n/a
Dec 23 11:51:59.994406 Collective-Core systemd[1]: podman-oll-node-red.service: Failed with result 'exit-code'.
Dec 23 11:51:59.996447 Collective-Core systemd[1]: podman-oll-node-red.service: Consumed 9.204s CPU time.
I can’t seem to wrap my head around what I need to do as far as networking setup. Any ideas?
P.S. There is also this description in the NR documenation for the controller node which talks about a UDP port of 1900, which I assume I will also have to redirect, but I am not sure:
<p>
This node is setting up the controller node for alexa interaction. It starts a SSDP Service on Port 1900/udp and is also able to start a seperate webserver on the configured port.
But it is also possible to use node-red as webserver and donot start a second webserver.
</p>
<p>
Be aware that alexa requires a response server running on port 80!
</p>