À propos du projet
Wakapi est un backend gratuit, open source et auto-hébergé, compatible avec WakaTime, le célèbre outil de suivi de l'activité de codage. Il est conçu pour les développeurs qui souhaitent conserver leurs statistiques de codage sur leur propre infrastructure tout en continuant à utiliser les plugins d'éditeur WakaTime existants.
## Fonctionnalités
Wakapi reçoit les heartbeats des outils clients officiels WakaTime et les transforme en statistiques sur les projets, les langages, les éditeurs, les hôtes et les systèmes d'exploitation. Il propose un tableau de bord web, des badges intégrables, des rapports hebdomadaires par e-mail, une API REST et une exportation de métriques compatible Prometheus. Il est décrit comme partiellement compatible avec WakaTime et peut également s'intégrer à WakaTime lui-même.
## Options de déploiement
Le README répertorie plusieurs façons d'exécuter Wakapi :
- Utiliser le service cloud hébergé sur wakapi.dev.
- Exécuter rapidement une version via un script d'installation shell.
- Exécuter l'image Docker officielle (ghcr.io/muety/wakapi), avec un volume persistant et un sel de mot de passe. SQLite est la base de données par défaut ; MySQL et Postgres sont également pris en charge. Docker Compose et Docker Secrets sont pris en charge, et un chart Helm communautaire existe pour Kubernetes.
- Compiler et exécuter depuis les sources avec Go, en utilisant un fichier de configuration YAML. L'exécution en tant que service SystemD est recommandée pour les déploiements autonomes.
## Configuration du client
Wakapi repose sur les outils clients open source WakaTime. Les utilisateurs installent le plugin WakaTime pour leur éditeur, puis modifient `~/.wakatime.cfg` pour pointer `api_url` vers leur instance Wakapi et définir leur clé API Wakapi. Un proxy côté client peut être configuré en option. Wakapi et WakaTime peuvent fonctionner en parallèle, soit via la configuration côté client, soit via la fonctionnalité de relais de Wakapi, qui transmet les heartbeats à WakaTime.
## Configuration
La configuration peut être fournie via un fichier YAML ou des variables d'environnement. Le README documente un large éventail d'options, notamment :
- Paramètres d'application : activation du classement, portée, heure de génération et exigence d'authentification ; planifications d'agrégation et de rapports hebdomadaires ; heures de nettoyage des données et d'optimisation de la base de données ; paramètres d'importation (activation, taille de lot, backoff, limites de débit, liste blanche d'hôtes) ; âge maximal des heartbeats ; préchauffage du cache ; mappages de langages personnalisés ; modèles d'URL d'avatar ; formats de date et d'heure ; contact d'assistance ; limites de rétention des données et de comptes inactifs.
- Paramètres du serveur : port, adresses IPv4/IPv6, socket UNIX et ses permissions, format de journalisation, délai d'expiration des requêtes, chemins du certificat et de la clé TLS, chemin de base et URL publique.
- Paramètres de sécurité : désactivation de l'authentification locale, désactivation de WebAuthn, sel de mot de passe, clé de cookie, cookies non sécurisés, durée de vie des cookies, inscription locale, inscription OIDC, vérification TLS OIDC et CAPTCHA d'inscription.
## Remarques
Le README indique qu'en raison du temps limité des mainteneurs, les pull requests ne sont temporairement pas acceptées. Le projet est sous licence open source et est maintenu par muety.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.