ateodorescu / home-assistant-addons

ipmi-server addon for Home Assistant
MIT License
11 stars 9 forks source link

how to build this for manual HA with no addons? #3

Closed deltamelter closed 1 year ago

deltamelter commented 1 year ago

run HA in docker so HACS and addons are not an option. Can I just build the dockerfile run the container and use it?

ateodorescu commented 1 year ago

I suppose it should work but I never tried it.

ateodorescu commented 1 year ago

What I tried though in development is to run an Apache locally with the php site running and change apache web root to point to "ipmi-server/rootfs/app/public".

deltamelter commented 1 year ago

No, doesn't really work straight up building from here. Docker starts but doesn't respond, probably missing things that "regular" bare metal install provides. eg don't what supervisor is here:


s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting
curl: (6) Could not resolve host: supervisor
[10:14:57] ERROR: Something went wrong contacting the API
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
curl: (6) Could not resolve host: supervisor
[10:14:57] ERROR: Something went wrong contacting the API
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun nginx (no readiness notification)
services-up: info: copying legacy longrun php-fpm (no readiness notification)
[10:14:57] INFO: Starting PHP-FPM...
s6-rc: info: service legacy-services successfully started
[10:14:58] INFO: Starting NGinx...``` 
ateodorescu commented 1 year ago

Run in your browser http://IP_OF_DOCKER_INSTALLATION/command?params=-I%20lanplus%20-H%20YOUR_IPMI_SERVER_IP%20-U%20ADMIN%20-P%20YOUR_PASSWORD%20bmc%20info which translates to ipmitool -I lanplus -H YOUR_IPMI_SERVER_IP -U YOUR_USER -P YOUR_PASSWORD bmc info. %20 stands for space (url encoding). You should get back a json with success and output keys. Does it work?

deltamelter commented 1 year ago

It works on the docker CLI, but which port I should publish from the docker? 80:9595

{
  "success": true,
  "output": "Device ID                 : 32\nDevice Revision           : 1\nFirmware Revision         : 2.81\nIPMI Version              : 2.0\nManufacturer ID           : 674\nManufacturer Name         : Dell Inc.\nProduct ID                : 256 (0x0100)\nProduct Name              : Unknown (0x100)\nDevice Available          : yes\nProvides Device SDRs      : yes\nAdditional Device Support :\n    Sensor Device\n    SDR Repository Device\n    SEL Device\n    FRU Inventory Device\n    IPMB Event Receiver\n    Bridge\n    Chassis Device\nAux Firmware Rev Info     : \n    0x00\n    0x05\n    0x51\n    0x51\n"
}
root@cf5471ce9e36:/$netstat -plant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      96/php-fpm.conf)
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      145/nginx.conf
tcp        0      0 0.0.0.0:8099            0.0.0.0:*               LISTEN      145/nginx.conf
deltamelter commented 1 year ago

OK, published container port 80 to host port 9595 and the integration added successfully :D image

ateodorescu commented 1 year ago

Good job! :) You could now close the issue if it's all working.