fermentrack icon indicating copy to clipboard operation
fermentrack copied to clipboard

Last version break pi zero W

Open NicolasDesvignes opened this issue 1 year ago • 16 comments

Hi, i used for years fermentrack on a pi zero W, it worked fine, now i a 502 bad gateway and i can't force a fresh install, the setup told me ./install.sh *** ERROR: This is an armv6l Pi (e.g. Pi Zero, Zero W, or Original RPi) which isn't capable of running Fermentrack. Exiting.

So i can't use my ispindel, why did you break the pi zero W compatibility?

NicolasDesvignes avatar Oct 03 '23 15:10 NicolasDesvignes

Fermentrack is built on top of a number of Packages by other developers, some of which unfortunately stopped supporting builds for ARMv6. Although Fermentrack itself doesn’t have any incompatibility, if those packages don’t support it then there’s not much that can be done.

Keeping the above in mind, if you want to play guinea pig, I can try to quickly produce an install script that doesn’t immediately kick back on an ARMv6 and you can give it a whirl. I don’t recall which specific package was causing issues, so it’s possible that it was something like zmq which I no longer use. Installation may take ages, and could ultimately fail, but if you’re interested in giving it a shot I can see what I can pull together.

thorrak avatar Oct 04 '23 11:10 thorrak

i would to, or can you give me an old version that i can run on my pi zero w, i just use it to track fermentation with ispindel, i don't use any other fonctions

NicolasDesvignes avatar Oct 04 '23 12:10 NicolasDesvignes

I just updated the Fermentrack Tools script to allow you to set a flag to override the Pi Zero check. Let me know if you have any questions (and if it works!)

thorrak avatar Oct 04 '23 12:10 thorrak

Thank you I'm not in the install setup, locked at What port would you like to access Fermentrack on? [80]: ::: 80 is a valid port for installation. Continuing. *** ERROR: Port 6379 is required by Redis, but is currently in use. Installation cannot continue.

NicolasDesvignes avatar Oct 05 '23 10:10 NicolasDesvignes

Thank you I'm not in the install setup, locked at What port would you like to access Fermentrack on? [80]: ::: 80 is a valid port for installation. Continuing. *** ERROR: Port 6379 is required by Redis, but is currently in use. Installation cannot continue.

Are you installing on the same SD card as an existing installation? If so, the issue is that you have an existing installation of redis. I believe - but have not tested - that you can just uninstall this by running sudo apt-get remove redis-server

That said, my recommendation here would definitely be to use a brand new SD card rather than trying to install over the old one if possible. There's likely some other things (nginx configuration stands out) that you will need to reconfigure as a result of installing over an old version that would be cleaned up if you were installing fresh.

thorrak avatar Oct 05 '23 10:10 thorrak

i used an existing installation the install ended with latest: Pulling from jdbeeler/fermentrack ERROR: no matching manifest for linux/arm/v6 in the manifest list entries Pulling django (jdbeeler/fermentrack:latest)... latest: Pulling from jdbeeler/fermentrack ERROR: no matching manifest for linux/arm/v6 in the manifest list entries Total reclaimed space: 0B ::: Waiting for Fermentrack install to initialize and become responsive. ::: Fermentrack may take up to 3 minutes to first boot as the database is being initialized. ..........................................................................................missing. *** ERROR: Unable to find an initialized, responsive instance of Fermentrack

NicolasDesvignes avatar Oct 05 '23 11:10 NicolasDesvignes

Ok. I can attempt a fix for that but it will take a bit to build. Keep your fingers crossed - this will be the moment of truth.

thorrak avatar Oct 05 '23 11:10 thorrak

oh, thank you ! i stay tuned, and i crossed my fingers.

NicolasDesvignes avatar Oct 05 '23 12:10 NicolasDesvignes

I managed to get it to build, but had to remove one of the upstream dependencies for numpy. To use the image I just built, run ./install.sh -z -i testing from your fermentrack-tools directory.

Let me know how it goes -- I'm curious now!

thorrak avatar Oct 05 '23 12:10 thorrak

with two parameter, it can't be launch sudo ./install.sh -z -i testing ./install.sh : option non permise -- z Invalid option: - Usage: ./install.sh [-h] [-n] [-p <port_number>] [-i <image>] Options: -h This help -n Run non interactive installation -p <port_number> Specify port to access Fermentrack -i <image> Docker image tag (defaults to 'latest') -z Ignore Pi Zero check

with only -i testing it looping on Waiting for PostgreSQL to become available... Traceback (most recent call last): File "<stdin>", line 3, in <module> File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 51, in <module> from psycopg2._psycopg import ( # noqa ModuleNotFoundError: No module named 'psycopg2._psycopg' Waiting for PostgreSQL to become available...

NicolasDesvignes avatar Oct 05 '23 15:10 NicolasDesvignes

I just fixed it so that the -z parameter should now work, and also pushed out something that might fix the psycopg2 issue. Try re-running ./install.sh -z -i testing and see if it helps.

thorrak avatar Oct 05 '23 17:10 thorrak

i still have the psycopg2 issue :( i think i'll try to found an old fork to try it. Thanks for your help

NicolasDesvignes avatar Oct 06 '23 14:10 NicolasDesvignes

Were you able to get it working with the older fork?

thorrak avatar Oct 22 '23 20:10 thorrak

hi, i'm trying to install again. Freshly installed bullseye on pi zero w I ran https://github.com/thorrak/fermentrack-tools/blob/master/non_docker_install/install.sh, then

::: Running updateCronCircus.sh from the script repo *** ERROR: Could not find updateCronCircus.sh! I don't find this file in the directory, have you a copy of this file please?

NicolasDesvignes avatar Nov 06 '23 10:11 NicolasDesvignes

That script - updateCronCircus - was designed to specifically launch Circus which was the former Fermentrack process manager. Fermentrack no longer uses circus, and thus that script is no longer necessary.

The install script you are referencing - in non_docker_install - is just a frozen version of the install script from two years ago which attempts to perform a non-dockerized installation. It has not been updated for the latest versions of Fermentrack hence why it still references Circus.

Due to the number of environmental/instance-specific issues caused by non-docker installs I no longer encourage or support their use. Fermentrack’s code supports non-docker installations so if you want to go down that path you could do it manually, but there is no working, automated install script that I am aware of.

Although I do not encourage them, if you (or someone else reading this) do decide to go with a non-docker install and want to update the install script in fermentrack-tools to work with the latest versions of Fermentrack, I will merge a PR that updates it. I won’t update documentation to steer users towards it, however, as supporting non-docker installs is too much of a resource drain.

thorrak avatar Nov 06 '23 12:11 thorrak

Separately, I will note that it seems like docker isn’t the issue here but Postgres. Is that correct?

An easier solution might be to tweak the configuration to use SQLite instead of Postgres, and strip that requirement.

thorrak avatar Nov 06 '23 12:11 thorrak