::: Triggering upgrade from branch master ::: Waiting 1 second for Fermentrack to send updates if triggered from the web... ::: Stopping circus... ok ::: Updating from git... From https://github.com/thorrak/fermentrack - [deleted] (none) -> origin/brewbubbles - [deleted] (none) -> origin/circus - [deleted] (none) -> origin/dependabot/pip/django-3.1.14 - [deleted] (none) -> origin/dockerless-compat - [deleted] (none) -> origin/experimental - [deleted] (none) -> origin/v14 HEAD is now at 6e08f25 Merge pull request #660 from thorrak/pyzmq Already on 'master' Your branch is behind 'origin/master' by 42 commits, and can be fast-forwarded. (use "git pull" to update your local branch) Updating 6e08f25..17f772b Fast-forward .github/workflows/docker-hub.yml | 14 +- .gitignore | 5 + app/models.py | 13 +- app/static/css/nord.fermentrack.css | 29 +++- .../fonts/glyphicons/flat-ui-icons-regular.eot | Bin 0 -> 5626 bytes .../fonts/glyphicons/flat-ui-icons-regular.svg | 140 +++++++++++++++ .../fonts/glyphicons/flat-ui-icons-regular.ttf | Bin 0 -> 5436 bytes .../fonts/glyphicons/flat-ui-icons-regular.woff | Bin 0 -> 7008 bytes app/templates/brewpi/temp_control_modal.html | 2 +- app/templates/device_dashboard.html | 4 +- app/templates/pin_list.html | 4 +- app/templates/site_config.html | 5 + app/views.py | 16 +- backup_files/staging/README.md | 3 + backups/__init__.py | 0 backups/admin.py | 3 + backups/apps.py | 5 + backups/forms.py | 21 +++ backups/management/__init__.py | 0 backups/management/commands/__init__.py | 0 backups/management/commands/generate_backup.py | 21 +++ backups/management/commands/restore_backup.py | 53 ++++++ backups/migrations/0001_initial.py | 29 ++++ backups/migrations/0002_auto_20210428_0440.py | 17 ++ backups/migrations/__init__.py | 0 backups/models.py | 120 +++++++++++++ backups/tasks.py | 0 .../templates/backups/backup_confirm_delete.html | 26 +++ backups/templates/backups/backup_detail.html | 29 ++++ backups/templates/backups/backup_form.html | 40 +++++ backups/templates/backups/backup_list.html | 51 ++++++ backups/templates/backups/backup_restore.html | 45 +++++ backups/urls.py | 17 ++ backups/views.py | 152 ++++++++++++++++ compose/production/django/Dockerfile | 2 + compose/production/nginx/nginx.conf | 1 + docs/source/develop/changelog.rst | 24 +++ docs/source/installing/install.rst | 4 +- fermentrack_django/settings.py | 11 +- fermentrack_django/urls.py | 3 + firmware_flash/models.py | 6 - gravity/migrations/0005_brewbubbles_prep.py | 28 +++ gravity/models.py | 192 +++++++++++++++------ gravity/templates/gravity/gravity_dashboard.html | 4 +- .../templates/gravity/gravity_manage_ispindel.html | 2 +- gravity/templates/gravity/gravity_manage_tilt.html | 2 +- gravity/views.py | 2 +- requirements/base.txt | 8 + requirements/docker-production.txt | 2 +- 49 files changed, 1064 insertions(+), 91 deletions(-) create mode 100644 app/static/vendor/flat-ui/fonts/glyphicons/flat-ui-icons-regular.eot create mode 100644 app/static/vendor/flat-ui/fonts/glyphicons/flat-ui-icons-regular.svg create mode 100644 app/static/vendor/flat-ui/fonts/glyphicons/flat-ui-icons-regular.ttf create mode 100644 app/static/vendor/flat-ui/fonts/glyphicons/flat-ui-icons-regular.woff create mode 100644 backup_files/staging/README.md create mode 100644 backups/__init__.py create mode 100644 backups/admin.py create mode 100644 backups/apps.py create mode 100644 backups/forms.py create mode 100644 backups/management/__init__.py create mode 100644 backups/management/commands/__init__.py create mode 100644 backups/management/commands/generate_backup.py create mode 100644 backups/management/commands/restore_backup.py create mode 100644 backups/migrations/0001_initial.py create mode 100644 backups/migrations/0002_auto_20210428_0440.py create mode 100644 backups/migrations/__init__.py create mode 100644 backups/models.py create mode 100644 backups/tasks.py create mode 100644 backups/templates/backups/backup_confirm_delete.html create mode 100644 backups/templates/backups/backup_detail.html create mode 100644 backups/templates/backups/backup_form.html create mode 100644 backups/templates/backups/backup_list.html create mode 100644 backups/templates/backups/backup_restore.html create mode 100644 backups/urls.py create mode 100644 backups/views.py create mode 100644 gravity/migrations/0005_brewbubbles_prep.py ::: Updating requirements via pip3... Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Requirement already satisfied: Django==3.0.14 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 1)) (3.0.14) Requirement already satisfied: configobj in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 2)) (5.0.6) Requirement already satisfied: pyzmq==22.3.0 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 5)) (22.3.0) Requirement already satisfied: pytz==2020.4 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 8)) (2020.4) Requirement already satisfied: sentry-sdk in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 9)) (1.5.1) Collecting sentry-sdk Downloading https://www.piwheels.org/simple/sentry-sdk/sentry_sdk-1.8.0-py2.py3-none-any.whl (153 kB) Requirement already satisfied: django-constance[database] in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 10)) (2.8.0) Requirement already satisfied: GitPython in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 11)) (3.1.24) Collecting GitPython Downloading https://www.piwheels.org/simple/gitpython/GitPython-3.1.27-py3-none-any.whl (181 kB) Requirement already satisfied: zeroconf==0.28.7 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 12)) (0.28.7) Requirement already satisfied: circus<0.17.0,>=0.16.0 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 13)) (0.16.1) Requirement already satisfied: chaussette in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 15)) (1.3.0) Requirement already satisfied: huey>=2.0 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 16)) (2.4.2) Collecting huey>=2.0 Downloading https://www.piwheels.org/simple/huey/huey-2.4.3-py3-none-any.whl (73 kB) Requirement already satisfied: pid in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 17)) (3.0.4) Requirement already satisfied: pyserial in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 18)) (3.5) Requirement already satisfied: pyudev in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 20)) (0.22.0) Collecting pyudev Downloading https://www.piwheels.org/simple/pyudev/pyudev-0.23.2-py3-none-any.whl (56 kB) Requirement already satisfied: requests in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 21)) (2.26.0) Collecting requests Downloading https://www.piwheels.org/simple/requests/requests-2.28.1-py3-none-any.whl (62 kB) Requirement already satisfied: esptool==2.8 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 23)) (2.8) Requirement already satisfied: packaging~=17.1 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 24)) (17.1) Requirement already satisfied: urllib3<1.26 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 26)) (1.25.11) Requirement already satisfied: redis==3.4.1 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 30)) (3.4.1) Requirement already satisfied: aioblescan==0.2.6 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 31)) (0.2.6) Requirement already satisfied: django-environ==0.4.5 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 33)) (0.4.5) Requirement already satisfied: whitenoise==5.2.0 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 34)) (5.2.0) Requirement already satisfied: cryptography==3.4.6 in /home/fermentrack/venv/lib/python3.7/site-packages (from -r requirements/base.txt (line 35)) (3.4.6) Collecting uvicorn[standard]==0.13.4 Downloading https://www.piwheels.org/simple/uvicorn/uvicorn-0.13.4-py3-none-any.whl (46 kB) Collecting tarsafe==0.0.3 Downloading https://www.piwheels.org/simple/tarsafe/tarsafe-0.0.3-py3-none-any.whl (5.0 kB) Collecting django-downloadview==2.1.1 Downloading https://www.piwheels.org/simple/django-downloadview/django_downloadview-2.1.1-py3-none-any.whl (35 kB) Collecting django-model-utils==4.1.1 Downloading https://www.piwheels.org/simple/django-model-utils/django_model_utils-4.1.1-py3-none-any.whl (32 kB) Requirement already satisfied: asgiref~=3.2 in /home/fermentrack/venv/lib/python3.7/site-packages (from Django==3.0.14->-r requirements/base.txt (line 1)) (3.3.4) Requirement already satisfied: sqlparse>=0.2.2 in /home/fermentrack/venv/lib/python3.7/site-packages (from Django==3.0.14->-r requirements/base.txt (line 1)) (0.4.1) Requirement already satisfied: ifaddr>=0.1.7 in /home/fermentrack/venv/lib/python3.7/site-packages (from zeroconf==0.28.7->-r requirements/base.txt (line 12)) (0.1.7) Requirement already satisfied: ecdsa in /home/fermentrack/venv/lib/python3.7/site-packages (from esptool==2.8->-r requirements/base.txt (line 23)) (0.16.1) Requirement already satisfied: pyaes in /home/fermentrack/venv/lib/python3.7/site-packages (from esptool==2.8->-r requirements/base.txt (line 23)) (1.6.1) Requirement already satisfied: cffi>=1.12 in /home/fermentrack/venv/lib/python3.7/site-packages (from cryptography==3.4.6->-r requirements/base.txt (line 35)) (1.14.5) Requirement already satisfied: setuptools in /home/fermentrack/venv/lib/python3.7/site-packages (from django-downloadview==2.1.1->-r requirements/base.txt (line 42)) (40.8.0) Collecting click==7.* Downloading https://www.piwheels.org/simple/click/click-7.1.2-py2.py3-none-any.whl (84 kB) Collecting h11>=0.8 Downloading https://www.piwheels.org/simple/h11/h11-0.13.0-py3-none-any.whl (58 kB) Requirement already satisfied: typing-extensions in /home/fermentrack/venv/lib/python3.7/site-packages (from uvicorn[standard]==0.13.4->-r requirements/base.txt (line 37)) (3.10.0.0) Collecting websockets==8.* Downloading https://www.piwheels.org/simple/websockets/websockets-8.1-cp37-cp37m-linux_armv6l.whl (78 kB) Collecting python-dotenv>=0.13 Downloading https://www.piwheels.org/simple/python-dotenv/python_dotenv-0.20.0-py3-none-any.whl (17 kB) Collecting uvloop!=0.15.0,!=0.15.1,>=0.14.0 Downloading https://www.piwheels.org/simple/uvloop/uvloop-0.16.0-cp37-cp37m-linux_armv6l.whl (3.7 MB) Collecting httptools==0.1.* Downloading https://www.piwheels.org/simple/httptools/httptools-0.1.2-cp37-cp37m-linux_armv6l.whl (234 kB) Collecting watchgod>=0.6 Downloading https://www.piwheels.org/simple/watchgod/watchgod-0.8.2-py3-none-any.whl (12 kB) Collecting PyYAML>=5.1 Downloading https://www.piwheels.org/simple/pyyaml/PyYAML-6.0-cp37-cp37m-linux_armv6l.whl (45 kB) Requirement already satisfied: six in /home/fermentrack/venv/lib/python3.7/site-packages (from circus<0.17.0,>=0.16.0->-r requirements/base.txt (line 13)) (1.16.0) Requirement already satisfied: psutil in /home/fermentrack/venv/lib/python3.7/site-packages (from circus<0.17.0,>=0.16.0->-r requirements/base.txt (line 13)) (5.8.0) Requirement already satisfied: tornado<5.0,>=3.0 in /home/fermentrack/venv/lib/python3.7/site-packages (from circus<0.17.0,>=0.16.0->-r requirements/base.txt (line 13)) (4.5.3) Requirement already satisfied: pyparsing>=2.0.2 in /home/fermentrack/venv/lib/python3.7/site-packages (from packaging~=17.1->-r requirements/base.txt (line 24)) (2.4.7) Requirement already satisfied: pycparser in /home/fermentrack/venv/lib/python3.7/site-packages (from cffi>=1.12->cryptography==3.4.6->-r requirements/base.txt (line 35)) (2.20) Collecting anyio<4,>=3.0.0 Downloading https://www.piwheels.org/simple/anyio/anyio-3.6.1-py3-none-any.whl (80 kB) Collecting sniffio>=1.1 Downloading https://www.piwheels.org/simple/sniffio/sniffio-1.2.0-py3-none-any.whl (10 kB) Requirement already satisfied: idna>=2.8 in /home/fermentrack/venv/lib/python3.7/site-packages (from anyio<4,>=3.0.0->watchgod>=0.6->uvicorn[standard]==0.13.4->-r requirements/base.txt (line 37)) (2.10) Requirement already satisfied: certifi in /home/fermentrack/venv/lib/python3.7/site-packages (from sentry-sdk->-r requirements/base.txt (line 9)) (2020.12.5) Requirement already satisfied: gitdb<5,>=4.0.1 in /home/fermentrack/venv/lib/python3.7/site-packages (from GitPython->-r requirements/base.txt (line 11)) (4.0.7) Requirement already satisfied: smmap<5,>=3.0.1 in /home/fermentrack/venv/lib/python3.7/site-packages (from gitdb<5,>=4.0.1->GitPython->-r requirements/base.txt (line 11)) (4.0.0) Requirement already satisfied: charset-normalizer<3,>=2 in /home/fermentrack/venv/lib/python3.7/site-packages (from requests->-r requirements/base.txt (line 21)) (2.0.9) Requirement already satisfied: django-picklefield in /home/fermentrack/venv/lib/python3.7/site-packages (from django-constance[database]->-r requirements/base.txt (line 10)) (3.0.1) Installing collected packages: sniffio, h11, click, anyio, websockets, watchgod, uvloop, uvicorn, requests, PyYAML, python-dotenv, httptools, tarsafe, sentry-sdk, pyudev, huey, GitPython, django-model-utils, django-downloadview Attempting uninstall: requests Found existing installation: requests 2.26.0 Uninstalling requests-2.26.0: Successfully uninstalled requests-2.26.0 Attempting uninstall: sentry-sdk Found existing installation: sentry-sdk 1.5.1 Uninstalling sentry-sdk-1.5.1: Successfully uninstalled sentry-sdk-1.5.1 Attempting uninstall: pyudev Found existing installation: pyudev 0.22.0 Uninstalling pyudev-0.22.0: Successfully uninstalled pyudev-0.22.0 Attempting uninstall: huey Found existing installation: huey 2.4.2 Uninstalling huey-2.4.2: Successfully uninstalled huey-2.4.2 Attempting uninstall: GitPython Found existing installation: GitPython 3.1.24 Uninstalling GitPython-3.1.24: Successfully uninstalled GitPython-3.1.24 Successfully installed GitPython-3.1.27 PyYAML-6.0 anyio-3.6.1 click-7.1.2 django-downloadview-2.1.1 django-model-utils-4.1.1 h11-0.13.0 httptools-0.1.2 huey-2.4.3 python-dotenv-0.20.0 pyudev-0.23.2 requests-2.28.1 sentry-sdk-1.8.0 sniffio-1.2.0 tarsafe-0.0.3 uvicorn-0.13.4 uvloop-0.16.0 watchgod-0.8.2 websockets-8.1 WARNING: You are using pip version 21.1.1; however, version 22.2.1 is available. You should consider upgrading via the '/home/fermentrack/venv/bin/python3.7 -m pip install --upgrade pip' command. ::: Running manage.py migrate... Operations to perform: Apply all migrations: admin, app, auth, backups, contenttypes, database, external_push, firmware_flash, gravity, sessions Running migrations: Applying backups.0001_initial... OK Applying backups.0002_auto_20210428_0440... OK Applying gravity.0005_brewbubbles_prep... OK ::: Running manage.py collectstatic... ::: Relaunching circus... ok ok ::: Complete!