89 lines
2.2 KiB
Markdown
89 lines
2.2 KiB
Markdown
# Getting started
|
|
|
|
BincioActivity turns a folder of GPX/FIT/TCX files into a static website you host yourself. No database. No cloud dependency. No account.
|
|
|
|
## Prerequisites
|
|
|
|
- Python ≥ 3.12 and [uv](https://docs.astral.sh/uv/)
|
|
- Node ≥ 20 and npm (for the site)
|
|
- Your activity files (Strava export, Garmin export, Karoo, etc.)
|
|
|
|
## Install
|
|
|
|
```bash
|
|
git clone https://github.com/brutsalvadi/bincio-activity.git
|
|
cd bincio-activity
|
|
uv sync
|
|
```
|
|
|
|
## Configure
|
|
|
|
```bash
|
|
cp extract_config.example.yaml extract_config.yaml
|
|
$EDITOR extract_config.yaml
|
|
```
|
|
|
|
Minimum configuration:
|
|
|
|
```yaml
|
|
owner:
|
|
handle: yourname # used in URLs and federation
|
|
display_name: Your Name
|
|
|
|
input:
|
|
dirs:
|
|
- ~/your-activity-data/activities
|
|
|
|
output:
|
|
dir: ~/bincio_data
|
|
```
|
|
|
|
The config file is gitignored — safe to store Strava credentials here.
|
|
|
|
## Extract
|
|
|
|
```bash
|
|
uv run bincio extract
|
|
```
|
|
|
|
This reads all GPX/FIT/TCX files (including `.gz` variants), deduplicates them, and writes a BAS data store to `~/bincio_data/`.
|
|
|
|
Re-running is safe — unchanged files are skipped (hash-based). To force a full re-extract: `rm -rf ~/bincio_data && uv run bincio extract`.
|
|
|
|
## Build the site
|
|
|
|
```bash
|
|
cd site && npm install && cd ..
|
|
cp site/.env.example site/.env
|
|
# Edit site/.env: set BINCIO_DATA_DIR=~/bincio_data
|
|
uv run bincio render
|
|
```
|
|
|
|
Output is in `site/dist/` — a folder of static files. Drop it anywhere: GitHub Pages, Netlify, a Raspberry Pi, a USB stick.
|
|
|
|
## Dev mode
|
|
|
|
```bash
|
|
uv run bincio render --serve # → http://localhost:4321
|
|
```
|
|
|
|
## Enable the edit UI
|
|
|
|
The edit UI lets you rename activities, add descriptions, upload photos, and sync from Strava — all from the browser.
|
|
|
|
```bash
|
|
uv sync --extra edit
|
|
uv run bincio edit # starts on http://localhost:4041
|
|
# Add to site/.env:
|
|
# PUBLIC_EDIT_URL=http://localhost:4041
|
|
```
|
|
|
|
An Edit button and an Upload ↑ button appear in the nav.
|
|
|
|
## Next steps
|
|
|
|
- [Single-user deployment](deployment/single-user.md) — serve your site on a VPS or GitHub Pages
|
|
- [Multi-user deployment](deployment/multi-user.md) — invite friends, shared feed
|
|
- [CLI reference](reference/cli.md) — all commands and options
|
|
- [BAS schema](../SCHEMA.md) — the data format and federation protocol
|