epiecs / grilleye-max-gui

Grilleye max gui
MIT License
4 stars 1 forks source link

PHP container Fatal #2

Closed sysrazor closed 3 months ago

sysrazor commented 2 years ago

after doing a docker-compose on multiple systems it seems something is not set up properly. And ideas on what can be tweaked

Warning: require(/srv/src/../vendor/autoload.php): Failed to open stream: No such file or directory in /srv/src/index.php on line 27

Fatal error: Uncaught Error: Failed opening required '/srv/src/../vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /srv/src/index.php:27 Stack trace: #0 {main} thrown in /srv/src/index.php on line 27

epiecs commented 2 years ago

I'll spin up a clean vm and have a look :)

epiecs commented 2 years ago

I have found the issue. When you clone the repository you don't have the php composer vendor directory because it is not included in the repository. You first have to run a "composer install" to install all dependencies. I will update the readme as needed. Thanks for bringing this to my attention!

Does this fix the issue for you?

sysrazor commented 2 years ago

Looks like that worked on local, trying to figure out how to get the phoneID for the grilleye Pro as well as some weird forbidden issues when loading on synology

epiecs commented 2 years ago

To get your phone id you can reference how to get your phone id. If you need help or something in the documentation is not clear enough let me know.

Which issues do you encounter on Synology?

sysrazor commented 2 years ago

For the grill eye pro when connecting to USB I do not get any devices or ports listed for it. I honestly do not even get the windows "ding" that new hardware was plugged in. The Grill Eye Pro will not stay powered off while pluged into a USB port. Thinking the Pro has some other limitations I need to research, will also try another laptop.

For Synology. I have installed php 7.4 and configured composer and it seems to have built correctly, minus warnings that it had to fail back to a ziparchive library since synology uses 7zip for unzip functions.

Without running the container as root/ highest level it gives a forbidden error message. When running as root I am getting the following output for /settings


Warning: copy(/srv/src/../.env): Failed to open stream: Permission denied in /srv/src/index.php on line 47

Warning: Undefined array key "PHONEID" in /srv/src/index.php on line 52

Warning: Undefined array key "TIMEZONE" in /srv/src/index.php on line 53

Warning: Undefined array key "TIMEFORMAT" in /srv/src/index.php on line 54

Warning: Undefined array key "LIVEMINUTES" in /srv/src/index.php on line 55

Warning: Undefined array key "PROBE_COLOR_1" in /srv/src/index.php on line 58

Warning: Undefined array key "PROBE_COLOR_2" in /srv/src/index.php on line 59

Warning: Undefined array key "PROBE_COLOR_3" in /srv/src/index.php on line 60

Warning: Undefined array key "PROBE_COLOR_4" in /srv/src/index.php on line 61

Warning: Undefined array key "PROBE_COLOR_5" in /srv/src/index.php on line 62

Warning: Undefined array key "PROBE_COLOR_6" in /srv/src/index.php on line 63

Warning: Undefined array key "PROBE_COLOR_7" in /srv/src/index.php on line 64

Warning: Undefined array key "PROBE_COLOR_8" in /srv/src/index.php on line 65

Warning: Undefined array key 0 in /srv/src/index.php on line 122

Warning: Trying to access array offset on value of type null in /srv/src/index.php on line 122```
epiecs commented 2 years ago

The php error is because the app wants to copy .env.example to .env because .env does not yet exist (used as config file). My guess is that your synology does not give you the necessary permissions to do this. You can manually copy .env.example to .env and give it enough permissions so that your synology webserver can write to it.

I might be able to solve this by letting docker use extra permissions but I'm always wary of servers and services using more privileges than necessary.

epiecs commented 2 years ago

The phone id can be found that way with a grilleye max. I don't know what controller the grilleye pro uses in the thermometer. Does it use the hyperion app or another app?

If it uses the hyperion app you can also get your phone id by using postman/charles as a proxy and capturing the request.

sysrazor commented 2 years ago

it uses the "grilleye pro" cloud app. I have messaged their support to see if they could fetch it from their AWS instance and provide, with a short.

epiecs commented 2 years ago

Maybe. I still fear that it won't work because I reverse engineered the hyperion api. This is their new cellphone app. Still worth trying though.

epiecs commented 3 months ago

Hi,

I reworked the compose file and Dockerfile. Now you no longer need to run any commands and can just start the compose file. The container will be fully built without any needed manual intervention :)