You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 1, 2026. It is now read-only.
|`AUTH_PASSWORD`| bcrypt-hashed password — [how to generate](docs/BCRYPT.md)|`""`|
81
-
|`AUTH_EXPIRE`| Session expiration: number + suffix `m`, `h`, `d`, or `M`|`7d`|
82
74
|`TZ`| Timezone |`""`|
83
75
84
76
### Frontend server (`workoutdiary-frontend`)
@@ -93,36 +85,35 @@ Both services are configured exclusively via environment variables. No config fi
93
85
94
86
## Local network only
95
87
96
-
By default the app loads themes, icons, and fonts from the internet. For an air-gapped setup, run the [node-bootstrap](https://github.com/aceberg/my-dockerfiles/tree/main/node-bootstrap) sidecar and pass its URL to the frontend via `-n`:
88
+
By default the app loads themes, icons, and fonts from the internet. For an air-gapped setup, run the [node-bootstrap](https://github.com/aceberg/my-dockerfiles/tree/main/node-bootstrap) sidecar and set `NODE_PATH` on the frontend:
97
89
98
90
```sh
99
91
docker run --name node-bootstrap \
100
92
-v ~/.dockerdata/icons:/app/icons \
101
93
-p 8850:8850 \
102
94
aceberg/node-bootstrap
103
95
104
-
docker run --name exdiary-frontend \
105
-
-p 8080:8080 \
106
-
ghcr.io/rwlove/workoutdiary-frontend \
107
-
-a http://<YOUR_HOST_IP>:8851 \
108
-
-n http://<YOUR_HOST_IP>:8850
109
-
```
110
-
111
-
Or use [docker-compose-local.yml](docker-compose-local.yml) to build both images from source.
112
-
113
-
Set `NODE_PATH` on the frontend to point at the node-bootstrap instance:
114
-
115
-
```sh
116
96
docker run --name exdiary-frontend \
117
97
-e API_URL=http://<YOUR_HOST_IP>:8851 \
118
98
-e NODE_PATH=http://<YOUR_HOST_IP>:8850 \
119
99
-p 8080:8080 \
120
100
ghcr.io/rwlove/workoutdiary-frontend
121
101
```
122
102
103
+
## Features
104
+
105
+
-**Exercise library** — organize exercises into groups, store default weight/reps/intensity
106
+
-**Daily workout log** — autosaves on every change (no Save button)
107
+
-**Body weight tracking** — log weight and view a rolling chart
108
+
-**Heatmap history** — GitHub-style workout intensity and per-exercise color heatmaps
109
+
-**Stats page** — per-exercise intensity charts with period filtering
110
+
-**Dark mode by default** — full Bootstrap dark theme
111
+
-**PWA support** — installable as a home screen app
112
+
123
113
## Thanks
124
114
125
-
- All Go packages listed in [dependencies](https://github.com/aceberg/workoutdiary/network/dependencies)
115
+
- All Go packages listed in [go.mod](go.mod)
126
116
-[Bootstrap](https://getbootstrap.com/) and [Bootswatch](https://bootswatch.com) themes
127
117
-[Chart.js](https://github.com/chartjs/Chart.js) and [chartjs-chart-matrix](https://github.com/kurkle/chartjs-chart-matrix)
118
+
-[Gin](https://github.com/gin-gonic/gin)
128
119
- Favicon and logo: [Flaticon](https://www.flaticon.com/icons/)
0 commit comments