-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New BrewPi-Script Daemon, Eliminate Circus, and Refactor Backups #724
Conversation
Includes support for Inkbird bluetooth temp sensors, Tilt temp sensors, and TPLink Kasa wireless switches
* Switch from Chaussette to Gunicorn * Add uvicorn to requirements * Update start script and add asgi.py * Add websocket.py * Update nginx.conf * Tweak AlmostJsonWrapper * Switch to supervisord * Switch to FileHandler * Fix permissions & test build caching * Cache builds to GH packages * Move Huey and Tilt to supervisord * Add backup functionality
* Convert from standard BrewPi-Script to Multiprocessing daemon * Add brewpi_script_monitor to supervisord * Eliminate circus almost everywhere * Remove non-docker item in upgrade script * Change supervisor restart, prevent upgrades via lockfile
These are no longer necessary, as Docker ensures the packages are available.
…to v14 � Conflicts: � gravity/models.py
Synchronize branches
After install of this my tilt reconnected but the brewpi Arduino isn't connected.
|
You switched to the |
I used the update within the app. I will update via docker and report back. |
Now handled by the Docker image in use (which is almost always 'latest')
Replace Tilt Bluetooth Daemon with TiltBridge Jr.
This PR introduces a number of substantial changes from the previous release of Fermentrack.
Major Changes
BrewPi-Script Manager Rewrite
Since the early days of Fermentrack, Circus has been used to launch & manage individual instances of brewpi-script for each individual BrewPi Device. Unfortunately, Circus imposes a number of upstream dependencies that make keeping Fermentrack up-to-date an extremely onerous task. This PR replaces Circus with a custom BrewPi-Script management daemon.
Backup/Restore Refactor
The original implementation of backup/restore relied on an internal Django management command to read the database and write out database object descriptions to a JSON file. Although this works in theory, in practice this means that the backup is fairly dumb given that it is not aware of the nuance of Fermentrack's object relationships.
This PR replaces the use of the internal Django management command with new logic that generates a "smart" backup, which includes a Fermentrack-generated (rather than database-driven) representation of Fermentrack objects in JSON.
Changes from the previous logic when using newly-generated backups
UUIDs
As part of the backup/restore refactoring, I have added UUIDs to every object that is likely to be exported. These UUIDs allow Fermentrack to recognize when an object in a backup file already exists in the Fermentrack database, and will update that object (rather than attempting to install a second instance).
New Upgrade Workflow
Unfortunately, Docker resets containers to their "downloaded" state which means that the previous upgrade workflow no longer functions as intended. The ability to "upgrade from GitHub" has now been removed in favor of providing instructions on how to re-run the install script which pulls the latest image from Docker Hub.
TiltBridge Jr (New Tilt Bluetooth support)
The existing Tilt Bluetooth daemon has been removed in favor of a new, standalone bluetooth daemon called "TiltBridge Jr." This should hopefully allow for Tilt support to be upgraded/improved independently from Fermentrack while simultaneously providing a better experience.
Full Changelog (so far)
Added
Changed
Removed