Repository navigation
Description
Name of the Script
Dreeve
Script Type
CT (LXC Container)
Does this script support arm64?
arm64 supported
π Script Details
Self-hosted dashboard for sports and fitness data β imports Strava activities into statistics, heatmaps, gear tracking and yearly overviews. Formerly "Statistics for Strava". Requested in discussion #4640.
Caveat up front: upstream documents Docker only. docs.dreeve.app has no bare-metal path. This script reproduces their image natively and is therefore not on a path the project supports β flagged as a warning in the JSON.
How it maps:
- Their image is
dunglas/frankenphp:1-php8.5-alpine. FrankenPHP publishes standalone binaries (frankenphp-linux-x86_64-gnu), so PHP comes bundled and the Debian PHP version is irrelevant β relevant here sincecomposer.jsonrequiresphp: >=8.5and trixie ships 8.4. - Composer is bootstrapped through
frankenphp php-cli, thencomposer install --no-dev --optimize-autoloader. - The Caddyfile is adapted from
docker/app/config/Caddyfile(worker mode, 3 threads,http_port 8080) with absolute paths. - Migrations use the same commands as their entrypoint:
bin/console app:db:migrate+cache:warmup. - SQLite via
DATABASE_DIRECTORY=/opt/dreeve_data, perconfig/packages/doctrine.yaml.
Deliberately not reproduced: the Go fit-tool built in the first Docker stage, and the bundled shoutrrr binary. FIT file import and push notifications are therefore unavailable. Adding them means building a Go binary from docker/fit-tool/ β worth doing if the script proves useful.
Note: Strava API credentials are mandatory; without them the app has no data at all.
Activity
community-scripts-issue-bot commentedon Oct 12, 2026
The Dreeve script is ready for testing. Run it in the Proxmox VE shell (or on an Incus host) to create a container:
Dreeve does nothing without Strava credentials. Create an API application at https://www.strava.com/settings/api and put STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET and STRAVA_REFRESH_TOKEN into /opt/dreeve/.env.local, then restart the service.
Upstream only documents a Docker deployment. This script reproduces that setup natively - FrankenPHP as the server (the same one their image is based on) plus composer install - but it is not a path the project supports, so an upstream change can break it.
Activity data is stored in a SQLite database under /opt/dreeve_data via DATABASE_DIRECTORY. Back up that directory.
Not included: the Go-based fit-tool and shoutrrr notification binary that the official image bundles. FIT file import and push notifications are therefore unavailable.
Note: This is not in the official repo yetβit's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Discord testing thread: https://discord.com/channels/1302816934508630047/1559185052066385992
github-actions commentedon Oct 25, 2026
A PR has been created for dreeve: community-scripts/ProxmoxVE#18167
MickLesk commentedon Oct 25, 2026
Merged with #18167 in ProxmoxVE
github-actions commentedon Oct 25, 2026
Files deleted with PR #2469