wakapi  by muety

Self-hosted backend for coding statistics, WakaTime-compatible

created 6 years ago
3,553 stars

Top 13.9% on sourcepulse

GitHubView on GitHub
Project Summary

Wakapi provides a self-hosted, minimalist backend for tracking coding statistics, compatible with WakaTime clients. It's designed for developers who want to own their data and gain insights into their project, language, and editor usage, offering features like badges, email reports, and a REST API.

How It Works

Wakapi functions as a drop-in replacement for the WakaTime backend. It receives "heartbeat" data from WakaTime-compatible client tools, which log activity like project changes, file edits, and editor usage. The backend stores this data and makes it accessible via a REST API, enabling users to view their statistics through a web interface or integrate with other tools.

Quick Start & Requirements

  • Installation: Docker is the recommended method:
    docker volume create wakapi-data
    SALT="$(cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1)"
    docker run -d \
      --init \
      -p 3000:3000 \
      -e "WAKAPI_PASSWORD_SALT=$SALT" \
      -v wakapi-data:/data \
      --name wakapi \
      ghcr.io/muety/wakapi:latest
    
  • Prerequisites: Docker, Docker Compose, or Go (for source builds).
  • Resources: Minimal resource footprint for basic usage; database choice impacts requirements.
  • Docs: Website, Features, How to use, Wiki.

Highlighted Details

  • WakaTime-compatible backend, allowing use of existing clients.
  • Supports Prometheus exports for integration with monitoring systems like Grafana.
  • Integrates with GitHub Readme Stats for dynamic profile badges.
  • Offers a free hosted cloud service at wakapi.dev.

Maintenance & Community

  • Actively maintained by Ferdinand Mütsch.
  • Community contributions include Docker Compose files, Helm charts, and integrations.
  • Support channels include GitHub Issues.

Licensing & Compatibility

  • MIT License.
  • Permissive license allows for commercial use and integration with closed-source applications.

Limitations & Caveats

  • Wakapi is a subset of WakaTime's features, lacking leaderboards, embeddable charts, personal goals, and team/organization support.
  • Trusted header authentication for reverse proxies requires careful configuration and security considerations.
Health Check
Last commit

3 days ago

Responsiveness

1 day

Pull Requests (30d)
2
Issues (30d)
8
Star History
253 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.