Files
2026-06-09 18:40:21 +02:00

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

  1. Premier accès : créer un compte via l'UI (/register)
  2. Clé API : copier la clé générée automatiquement
  3. Plugins IDE : configurer l'URL + la clé (voir section installation)
  4. Heartbeat : envoyé toutes les 2 minutes par défaut quand un fichier est édité
  5. Backups : DB SQLite par défaut (le volume /data)
  6. Production : recommandé de migrer vers PostgreSQL pour les comptes nombreux
  7. 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