wakapi
SHA-256Wakapi 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)
TroubleshootingHow 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.
TroubleshootingWhy 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.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
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
Step 2: Open http://localhost:3000, register an account, and copy your API key from the settings page.
Step 3: Install the WakaTime plugin in your editor, edit ~/.wakatime.cfg with api_url = http://localhost:3000/api and api_key = your key.
- 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
- Step 2: Open http://localhost:3000, register an account, and copy your API key from the settings page.
- Step 3: Install the WakaTime plugin in your editor, edit ~/.wakatime.cfg with api_url = http://localhost:3000/api and api_key = your key.
SHA-256 checksum verified
Checksum extracted from GitHub official Release page
SHA256 Checksum
a422be12dedb76f7c5720e7616e8556de64f84aba708c9eae197217ba9011b4fThis 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 SourceUninstall 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.
Having issues? Check the FAQ below
2 FAQs
Similar Projects
pocketbase
PocketBase is an open source Go backend that includes embedded SQLite with realtime subscriptions, built-in file & user management, admin dashboard UI, and simple REST API. Can be used as standalone app or Go framework.
code-server
Run VS Code in your browser, on any device with a consistent development environment.
Visual Studio Code (Code - OSS)
A free, open-source code editor by Microsoft with rich extensions, debugging, and Git integration. The most popular developer tool worldwide.