Fermentrack & Home Assistant

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

wepenedj

New Member
Joined
Jun 12, 2017
Messages
3
Reaction score
0
Hi guys,

I'm using a RP4, thats running Home Assistant on Docker. Now I'm also trying to install Fermentrack to run on Docker, but do get the following error at the end of the deployment.

"** ERROR: Unable to find an initialized, responsive instance of Fermentrack."

During the Fermentrack deployment I have opted for the option to change the port, from 80 to something else, and still not going through.
From a Github post / install.sh file I could get this info.

"# If we hit this, we didn't find a valid IP address that responded with "Fermentrack" when accessed. "

When I stop all the running Home Assistant supervisor containers, and run the deployment again its going through.
After the deployment, I can start run both apps, but can only access either Fermentrack or Home Assistant depends on which one started up first

It seems to me like a port/docker network problem.

I'm a bit of a NOOB and not sure where to start, any help would be appretiated. @Thorrak
 

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
3,344
Reaction score
2,186
Location
New York, NY
When you are able to access Fermentrack, are you doing so with a non-80 port?

Fermentrack is designed to be installed on an RPi that is not running any other web services, as it uses Nginx installed on the bare metal to reverse proxy requests to Fermentrack. I don't think there should be a conflict with Home Assistant (I think HA is fully containerized with very little installed on bare metal) but I could be mistaken.
 
OP
OP
W

wepenedj

New Member
Joined
Jun 12, 2017
Messages
3
Reaction score
0
When you are able to access Fermentrack, are you doing so with a non-80 port?

Fermentrack is designed to be installed on an RPi that is not running any other web services, as it uses Nginx installed on the bare metal to reverse proxy requests to Fermentrack. I don't think there should be a conflict with Home Assistant (I think HA is fully containerized with very little installed on bare metal) but I could be mistaken.
Both Fermentrack and Home Assistant runs in docker. HA uses port 8123 and Fermentrack has been configured for port 9888. I also dont see any published ports for the Fermentrack container
 

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
3,344
Reaction score
2,186
Location
New York, NY
Both Fermentrack and Home Assistant runs in docker. HA uses port 8123 and Fermentrack has been configured for port 9888. I also dont see any published ports for the Fermentrack container
The Fermentrack container runs in host networking mode for a number of reasons (none of which I'm particularly happy about). It spins up a Redis server, web host, and postgres db - all of which have their own ports. The web host is what you would be reconfiguring for 9888. It also spins up Circus which has a bunch of ports as well.

I'd prefer more isolation of Fermentrack, but without going in and doing some heavy refactoring that's not an option as of yet. Maybe at some point, but not just yet.
 

My427Cobra

Member
Joined
Jun 30, 2014
Messages
5
Reaction score
1
Location
Meridian
Okay, Just deployed Fermentrack to an x86 based 64-bit Debian box using Docker

curl -L install.fermentrack.com | sudo bash

The stack says it is running but the installation script finishes with:
::: Fermentrack may take up to 3 minutes to first boot as the database is being initialized.
*** ERROR: Unable to find an initialized, responsive instance of Fermentrack

Looking at the Docker logs of the django container:
django_1 | File "/usr/local/lib/python3.8/site-packages/tornado/gen.py", line 307, in wrapper
django_1 | yielded = next(result)
django_1 | File "/usr/local/lib/python3.8/types.py", line 237, in __next__
django_1 | return next(self.__wrapped)
django_1 | File "/usr/local/lib/python3.8/site-packages/circus/arbiter.py", line 526, in start
django_1 | self.initialize()
django_1 | File "/usr/local/lib/python3.8/site-packages/circus/util.py", line 483, in _log
django_1 | return func(self, *args, **kw)
django_1 | File "/usr/local/lib/python3.8/site-packages/circus/arbiter.py", line 492, in initialize
django_1 | self.sockets.bind_and_listen_all()
django_1 | File "/usr/local/lib/python3.8/site-packages/circus/sockets.py", line 310, in bind_and_listen_all
django_1 | sock.bind_and_listen()
django_1 | File "/usr/local/lib/python3.8/site-packages/circus/sockets.py", line 210, in bind_and_listen
django_1 | self.bind((self.host, self.port))

This is a from scratch install as of yesterday. Any thoughts or ideas on this would be extremely helpful before I start diving in.

Upon further review of the docker_volumes/fermentrack-tools_fermentrack_logs/_data/circusd.log contains the following:
2021-08-17 00:05:22 circus[23] [ERROR] Could not bind 0.0.0.0:8123
2021-08-17 00:05:22 circus[23] [ERROR] exception [Errno 98] Address already in use caught
 
Last edited:

My427Cobra

Member
Joined
Jun 30, 2014
Messages
5
Reaction score
1
Location
Meridian
i386, i686, or x64?

The only i386 installs I know about are on NAS's, for what its worth...
Any thoughts on where to modify the circusd service to use a port other than 8123? I have HomeAssistant running on the system in Docker and would like to also run Fermentrack in Docker on the system at the same time. I can setup a separate network and only expose port 80 of Fermentrack to my network if need be.
 

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
3,344
Reaction score
2,186
Location
New York, NY
Any thoughts on where to modify the circusd service to use a port other than 8123? I have HomeAssistant running on the system in Docker and would like to also run Fermentrack in Docker on the system at the same time. I can setup a separate network and only expose port 80 of Fermentrack to my network if need be.


There.
 

My427Cobra

Member
Joined
Jun 30, 2014
Messages
5
Reaction score
1
Location
Meridian
What significance does port 8123 have for Home Assistant? Admittedly, I don't recall why 8123 was picked five years ago.
Port 8123 is the default port that Home Assistant web server runs on. I moved HA to 9123 so that I could test your Fermentrack docker install. I'm also running Portainer to manage Docker Containers and it runs on 9000 & 9001. Everything came up clean after rerunning ./fermentrack-tools/install.sh and I was able to get through initial setup but then NGINX started throwing a 502 Error.
 
Last edited:
Top