Updates --
For those who haven't caught it on the dev branch, I just pushed Docker release to master, and updated the install scripts to match. There were a
*lot* of changes in this update, but before I post the changelog, a few questions:
What is Docker / Why should I care?
In a traditional Fermentrack installation, a bunch of stuff has to be installed on the underlying operating system in order for Fermentrack to work. This includes installing a webserver, a Python interpreter, several other software packages, setting permissions for Bluetooth, and more. If any of those pieces didn't install correctly -- or if they conflicted with something that another installed application required, then you would run into problems.
Docker packages all these things into self-contained packages called "containers". Rather than having to install all of these pieces yourself, you download a packaged container that has all the pieces set up and ready to go. When it comes time to upgrade, rather than having to wade through upgrading the pieces individually, you simply download the latest container, drop it into place, and you're good to go.
By switching to a containerized approach I'm hoping that future installs and major upgrades to Fermentrack won't require j
umping through the hoops that were once required. Additionally, I'm hoping for a reduction in the weird, environmental issues that I've seen in the past.
Can I migrate from a non-Docker install to a Docker install? What about migrating back to a non-Docker install?
For now, no. In the future I have a plan to offer the ability to download a backup of your data from an existing, non-docker Fermentrack install and restore it into a new, docker-based one (and vice-versa). I'll post more once this feature is ready for testing.
Can I still install the non-Docker version?
Yes - but not with the automated "one line" curl script. New installations of the non-docker version will need to use the scripts in the
non_docker_install directory of Fermentrack Tools.
Changelog - 2020-04-05 - Docker Support
Added
- Added support for Docker installations
- Added environment/container version number to GitHub page
- Tilt "version" is now displayed on the Tilt Configuration page (Bluetooth only)
- Tilt battery level now shows on the Tilt Configuration page (Bluetooth v3/Tilt Pro only)
- "Last Check-in" time now added to Tilt configuration page (Bluetooth only)
- Added link to view Huey logs inside the Fermentrack UI
- Added link to view Circusd logs inside the Fermentrack UI
Changed
- Removed instances where BrewPi-Script would write to the database
- Adjusted feedback loop for Circus to eliminate a potential race condition with transactional databases
- Redesigned available firmware list to reduce confusion
- Stale gravity check-in points will now not be displayed in the gravity dashboard panels
- Added support for latest TiltBridge firmware
- Remove unimplemented "TCP Socket" external push option
- Added Beer Setting, Fridge Setting, and Controller State to generic external push targets
- Upgraded TiltBridge support for v1.0.0 TiltBridges (earlier TiltBridge versions will now require manual configuration)
- External push target attempts now log to huey stdout
- Added battery to the GenericPushTarget message for pushed iSpindel devices
Fixed
- Fermentrack now works with properly transactional databases (e.g. Postgres)
- Resolved issue causing false failures of the connectivity test (Thanks postalbunny!)
- Fixed issue preventing renaming of BrewPi controllers
- Dashes now allowed in TiltBridge mDNS IDs
- Corrected issue where iSpindel data couldn't be loaded if a data point wasn't availble in Redis