Feature Request: Docker Compose deployment for self-hosted homelab use
Summary
Add a Docker Compose-based deployment option that runs the Elevate desktop app as a self-hosted web service, accessible via browser on a local network — without requiring a native desktop install on each machine.
Motivation
Elevate is already close to this model: the Angular/appcore frontend is a web app at heart, and the desktop project is essentially an Electron shell around it. For users running homelabs (NAS boxes, mini PCs, Proxmox clusters, etc.), the natural deployment pattern is a containerized service exposed on a local port — not a per-machine desktop install.
The existing Dockerfile covers the Chrome extension build, and the README notes @TODO under "Build with docker" for the desktop app. This issue is a request to complete that path with a runtime target, not just a build artifact.
Proposed behavior
A docker-compose.yml (and/or a published image on Docker Hub / GHCR) that:
- Runs the Elevate web UI on a configurable port (e.g.
3000)
- Persists data via a mounted volume (replacing or wrapping the current LokiJS/IndexedDB storage with a file-backed alternative)
- Exposes connector sync (Strava, Garmin, etc.) as background tasks that run server-side
- Supports standard reverse proxy setups (Traefik, Nginx Proxy Manager, Caddy)
Notes on architecture
The main implementation challenge is storage: the current desktop app persists via IndexedDB, which is browser-local and not accessible across clients. A self-hosted deployment would need either:
- A file-backed LokiJS adapter mounted to a Docker volume, or
- A lightweight embedded DB (SQLite) for the server-side layer
Connector sync would also need to move from Electron IPC to a headless Node.js background process.
Why this matters
This would make Elevate genuinely useful as a "self-hosted Strava analytics" alternative — a category with real demand. Users who already self-host tools like Grafana, Gitea, or Immich would immediately understand the deployment model. It also opens a path to multi-device access without cloud dependency.
Related
Dockerfile (currently web extension build only)
- README
@TODO under Build with docker > Desktop app
- Linux
.deb build target suggests the runtime is not strictly macOS/Windows-only
Feature Request: Docker Compose deployment for self-hosted homelab use
Summary
Add a Docker Compose-based deployment option that runs the Elevate desktop app as a self-hosted web service, accessible via browser on a local network — without requiring a native desktop install on each machine.
Motivation
Elevate is already close to this model: the Angular/appcore frontend is a web app at heart, and the desktop project is essentially an Electron shell around it. For users running homelabs (NAS boxes, mini PCs, Proxmox clusters, etc.), the natural deployment pattern is a containerized service exposed on a local port — not a per-machine desktop install.
The existing
Dockerfilecovers the Chrome extension build, and the README notes@TODOunder "Build with docker" for the desktop app. This issue is a request to complete that path with a runtime target, not just a build artifact.Proposed behavior
A
docker-compose.yml(and/or a published image on Docker Hub / GHCR) that:3000)Notes on architecture
The main implementation challenge is storage: the current desktop app persists via IndexedDB, which is browser-local and not accessible across clients. A self-hosted deployment would need either:
Connector sync would also need to move from Electron IPC to a headless Node.js background process.
Why this matters
This would make Elevate genuinely useful as a "self-hosted Strava analytics" alternative — a category with real demand. Users who already self-host tools like Grafana, Gitea, or Immich would immediately understand the deployment model. It also opens a path to multi-device access without cloud dependency.
Related
Dockerfile(currently web extension build only)@TODOunder Build with docker > Desktop app.debbuild target suggests the runtime is not strictly macOS/Windows-only