Skip to content

[Desktop][Feat] Docker deployment option #1246

@justmytwospence

Description

@justmytwospence

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions