OpenSource-Hub
W

wakapi

SHA-256
4.3k stars·Developer Tools·SHA-256 checksum verified

Wakapi is a minimalist, self-hosted backend for coding statistics, compatible with WakaTime clients. It collects coding activity from editors and IDEs and visualizes it on a clean dashboard.

Smart Download

Download Download Version

v2.17.3 · 14 MB

Self-hosted coding stats backend compatible with WakaTime, free and lightweight.

Core Features

  • Free and open-source, full data ownership
  • Multiple deployment options: Docker, source, hosted cloud
  • Statistics for projects, languages, editors, OS, hosts
  • Customizable badges and weekly email reports
  • REST API and Prometheus export support

What It Can't Do

  • Always set WAKAPI_PASSWORD_SALT for secure password hashing. 2. SQLite data is inside the container; back up the volume before upgrading. 3. For public access, use a reverse proxy with HTTPS (e.g., Nginx). 4. Default port is 3000; ensure firewall allows it. 5. To use both Wakapi and official WakaTime, configure dual API URLs in wakatime.cfg (see docs).

Use Cases

  • Individual developers who want to track coding time across projects
  • Teams that need an internal, privacy-focused coding dashboard
  • Users migrating from WakaTime cloud to a self-hosted solution

Detailed Introduction

Wakapi is an open-source, self-hosted time tracking backend that collects coding activity from your favorite editors and IDEs (via WakaTime plugins) and provides beautiful dashboards, badges, email reports, and a REST API. It supports SQLite, MySQL, and PostgreSQL, and can be deployed with Docker or from source. Unlike the official WakaTime cloud service, Wakapi gives you full control over your data with zero subscription fees.

Troubleshooting & FAQ (2)

Troubleshooting
How to fix SSRF vulnerability in WakaTime relay middleware via WakatimeApiUrl?

Update to the latest version of Wakapi. The fix (commit 2af65a058730bd2e2cd603e3dbdb883e5badff34) validates WakatimeApiUrl to reject private IPs and enforces an allowlist of accepted hosts.

GitHub Issue #931
Troubleshooting
Why does Wakapi 2.17.1 crash with 'SQL logic error near time_real' when running migrations on SQLite?

This crash is caused by a syntax error in the migration '20260111-sqlite_real_valued_time_column_heartbeats'. To resolve it, you can either upgrade to a patched version of Wakapi (see issue #903 for the fix release) or apply a manual fix: 1. Stop Wakapi. 2. Use sqlite3 to execute the correct ALTER TABLE command: ALTER TABLE heartbeats ADD COLUMN time_real REAL; 3. Record the migration as applied by inserting a row: INSERT INTO schema_migrations VALUES ('20260111-sqlite_real_valued_time_column_heartbeats'); If you cannot alter the schema manually, downgrading to Wakapi 2.17.0 remains a temporary workaround until a patched version is available.

GitHub Issue #903

Tags

coding-statisticsself-hostedwakatimetime-trackinggo

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Run with Docker. Execute: docker run -d -p 3000:3000 -e WAKAPI_PASSWORD_SALT=<random> -v wakapi-data:/data --name wakapi ghcr.io/muety/wakapi:latest

4

Step 2: Open http://localhost:3000, register an account, and copy your API key from the settings page.

5

Step 3: Install the WakaTime plugin in your editor, edit ~/.wakatime.cfg with api_url = http://localhost:3000/api and api_key = your key.

Install Guide
  1. Step 1: Run with Docker. Execute: docker run -d -p 3000:3000 -e WAKAPI_PASSWORD_SALT=<random> -v wakapi-data:/data --name wakapi ghcr.io/muety/wakapi:latest
  2. Step 2: Open http://localhost:3000, register an account, and copy your API key from the settings page.
  3. Step 3: Install the WakaTime plugin in your editor, edit ~/.wakatime.cfg with api_url = http://localhost:3000/api and api_key = your key.
File Integrity

SHA-256 checksum verified

Checksum extracted from GitHub official Release page

SHA256 Checksum

a422be12dedb76f7c5720e7616e8556de64f84aba708c9eae197217ba9011b4f

This checksum is extracted from the GitHub Release page. Verify file integrity after download.

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Stop and remove the Docker container: docker stop wakapi && docker rm wakapi. Optionally delete the volume: docker volume rm wakapi-data. For source builds, just delete the binary and config file.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-06-26 09:50:21
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects