5.8 KiB
title: Wakapi created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, statistics, coding-time, wakatime, productivity] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/muety/wakapi]
💻 Wakapi
Serveur de statistiques de temps de codage compatible WakaTime, open source et auto-hébergeable. Suivez le temps passé à coder, par projet, par langage, par branche, avec dashboard web et API.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | wakapi.dev |
| GitHub | muety/wakapi |
| License | MIT |
| Langage | Go |
| Étoiles GitHub | 4 336 ⭐ |
| Catégorie | cat-development |
| Note | ⚠️ 100% open source, compatibilité totale avec les plugins WakaTime (VS Code, JetBrains, Vim, etc.). Pas d'édition payante. |
📝 Description
Wakapi est un clone self-hosted de WakaTime : un service qui mesure et analyse combien de temps vous passez à coder, et sur quoi. Comme WakaTime, il fonctionne avec des plugins / extensions installés dans vos IDE (VS Code, IntelliJ, Vim, Sublime, etc.) qui envoient des heartbeats anonymes.
Pourquoi Wakapi plutôt que WakaTime (officiel) ? :
- Auto-hébergé : pas d'envoi de données à un serveur tiers
- RGPD-friendly : données hébergées sur votre infra
- Gratuit à 100% (WakaTime officiel est freemium : dashboard public au-delà de 7 jours)
- Open source : auditable
- Même plugins : pas besoin de réécrire la config WakaTime, juste changer l'URL API
Fonctionnalités :
- Dashboard web : temps total, langages, projets, éditeurs, OS, branches
- Heatmap : contributions par jour (style GitHub)
- Goals : objectifs quotidiens / hebdo
- Leaderboards : classement entre membres d'une équipe
- Projets privés : exclus des stats
- API REST : pour intégrer dans d'autres outils
- Export : JSON, CSV
- Multi-utilisateurs : si partagé dans une équipe
- Notifications : webhooks, emails
- Graphiques : durée, top langages, top projets, top éditeurs
Cas d'usage :
- Développeur solo : suivre sa productivité, son temps de focus
- Equipe : comprendre la répartition du temps (debug vs feature, dette technique vs nouveau)
- Facturation : pour les freelances qui facturent au temps passé
- Reporting : générer des rapports hebdo/mensuels
Plugins compatibles : tous les éditeurs supportés par WakaTime (VS Code, JetBrains, Vim, Emacs, Sublime, Atom, Brackets…), il suffit de configurer l'URL API et la clé.
🚀 Installation
Via Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
wakapi:
image: ghcr.io/muety/wakapi:latest
container_name: wakapi
restart: unless-stopped
ports:
- "8080:8080"
environment:
- WAKAPI_PASSWORD_SALT=*** - WAKAPI_JWT_SECRET=*** volumes:
- wakapi-data:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.wakapi.rule=Host(`wakapi.example.com`)"
- "traefik.http.routers.wakapi.entrypoints=websecure"
- "traefik.http.services.wakapi.loadbalancer.server.port=8080"
networks:
- proxy
volumes:
wakapi-data:
networks:
proxy:
external: true
Binaire standalone
# Télécharger la dernière release
wget https://github.com/muety/wakapi/releases/latest/download/wakapi-linux-amd64
chmod +x wakapi-linux-amd64
./wakapi-linux-amd64
Configuration du plugin WakaTime (VS Code)
Dans settings.json de VS Code :
{
"wakatime.serverUrl": "https://wakapi.example.com",
"wakatime.apiKey": "waka_xxxxxxxxxxxxxxxx"
}
Clé API : à récupérer dans Settings → API Key du dashboard Wakapi.
⚙️ Configuration
- Premier accès : créer un compte via l'UI (
/register) - Clé API : copier la clé générée automatiquement
- Plugins IDE : configurer l'URL + la clé (voir section installation)
- Heartbeat : envoyé toutes les 2 minutes par défaut quand un fichier est édité
- Backups : DB SQLite par défaut (le volume
/data) - Production : recommandé de migrer vers PostgreSQL pour les comptes nombreux
- Reverse geocoding : optionnel, pour localiser les pays des commits
🔗 Alternatives
- WakaTime (SaaS) — Service officiel, freemium, dashboard public au-delà de 7 jours gratuit
- CodeStats — Multi-utilisateurs natif, mais pas d'auto-hébergement trivial
- ActivityWatch — Time tracking général (pas dev), open source
- Toggl / Clockify — Time tracking manuel
- Gource — Visualisation de l'historique Git (autre approche)
- Kodyfire — Payant
- TimeTagger — Auto-hébergeable, généraliste, time-tracking
🔒 Sécurité
- HTTPS obligatoire : le plugin envoie l'URL des fichiers édités, donc sensible
- Clé API : à garder secrète, permet l'envoi de heartbeats
- Auth : login + password (bcrypt), 2FA non natif
- SSO : OIDC, OAuth GitHub/GitLab
- CSP : configurer correctement si reverse proxy
- Données sensibles : noms de fichiers, projets — ne pas exposer publiquement
- Projets privés : marquer un repo "privé" dans Wakapi le masque
- Rate limiting : limiter l'envoi de heartbeats (anti-DOS)
📚 Ressources
🔗 Pages Liées
- cat-development — Catégorie Development
- app-traefik — Reverse proxy
- app-gitea / app-forgejo / app-gitlab — Forges (stats par projet)
- securisation-home-lab — Bonnes pratiques
- recettes-docker-compose — Templates Docker