Add matched training signals, daily recovery and performance analysis

This commit is contained in:
Peter Stockings
2026-10-03 13:22:32 +10:00
parent e6e2f22479
commit 418e03583a
37 changed files with 1380 additions and 47 deletions
+18
View File
@@ -1,6 +1,24 @@
# Dokku deployment
App: `stride`; database: `stride-db`; domain: `stride.peterstockings.com`.
Training-signal releases migrate private daily recovery and session preferences
automatically. Back up PostgreSQL before release, then recompute older recordings:
```sh
dokku run stride env FLASK_APP=app flask backfill-analysis --batch-size 20
dokku run stride env FLASK_APP=app flask install-training-signals --email ACCOUNT
dokku run stride env FLASK_APP=app flask backfill-health --email ACCOUNT --days 90
```
The installer validates queries before saving, pins five analyses and preserves
existing edits on repeat runs. Pace and long-run thresholds are editable CLI
options and account queries. Recovery backfill uses the existing encrypted
session and account lock, enables recovery only for that account and leaves
missing watch observations missing. Other accounts can opt in through Settings;
recovery failures do not stop activity imports. Never run a local copy of the
same Garmin session concurrently with production. Analysis version 3 persists
continuous windows; no dashboard query loads full recording samples.
The Dockerfile installs locked dependencies on Python 3.12. Dokku runs database
migrations in the predeploy step, then one web container and one sync worker.